log4j - Datum an Logdatei anhängen möglich?

Status
Nicht offen für weitere Antworten.

rseyfrie

Mitglied
Nutze log4j, um den Aufruf eines Webservices zu protokollieren. Im File log4j.properties ist für das Ausgabefile folgendes angegeben:

Code:
[...]
log4j.appender.A2.File=job.log 
[...]

Ist es möglich, dass für jeden Aufruf des Webservice ein eigenes Logfile erstellt wird - nach dem Muster job-datum-uhrzeit.log (zb job-26092006-141030.log).

Weiß jemand, wie ich die obrige Zeile dementsprechend anpassen müßte?
Danke für jede Hilfe!

Robert
 

rseyfrie

Mitglied
Hab´s geschafft - folgende Konfiguration ist notwendig:

log4j.properties:

Code:
# A2
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.File=log/job_
log4j.appender.A2.datePattern=yyyy-MM-dd_HH-mm-ss'.log'
log4j.appender.A2.append=true

Dadurch wird bei jedem Aufruf ein eigenes Logfile mit Timestamp im Verzeichnis /log/ erstellt.
 
S

Sauerkraut2k

Gast
Hab das ganze nicht in einer properties Datei realsiert sondern in einer XML, aber das sollte egal sein. Trotzdem hab ich einen Fehler aus dem ich nicht schlau werde. Immer wenn ich meinen Logger rennen lassen und im Log Verzeichnis sich keine Log Datein befindet, schreibt er erst mal eine LogDatei mit Name, aber ohne Datum. Wenn ich es dann ein zweites Mal laufen lasse, schreibt er mir die nächste LogDatei mit Name und Datum. Das macht er aber nur wenn ich die erste LogDatei nicht lösche.

Mein Code:

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="MeinStandardAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="logs/test_" />
    <param name="datePattern" value="yyyy-MM-dd_HH-mm-ss'.log'" />
    <param name="Append" value="true" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern"
             value="%d{ISO8601} %-5p %X{id} [%t] %X{clss}: %m%n" />
    </layout>
  </appender>

  <root>
    <priority value="INFO" />
    <appender-ref ref="MeinStandardAppender" />
  </root>

</log4j:configuration>

Mir wird immer zuerst eine LogDatei mit dem Namen "test_" erstellt, beim zweiten mal dann eine mit "test_2008-11-12_11-32-24.log" was korrekt wäre.


Mein Java Code:
Code:
  private synchronized void init()
  {
    try {
      DOMConfigurator.configureAndWatch( LOG4J_CONFIG_FILE, 60*1000 );
      log4jLogger = Logger.getLogger( logName );
      messagesResBundle = ResourceBundle.getBundle( MESSAGES_RESBUNDLE );
      log4jLogger.setResourceBundle( messagesResBundle );
    } catch( MissingResourceException e ) {
      System.err.println( "Failure: '" + MESSAGES_RESBUNDLE + "'-.properties-Datei fehlt!" );
    } catch( Exception e ) {
      System.err.println( "Failure at Logger-Initialisation!" );
    } 
  }

  // Singleton-Instanz
  public static synchronized RefLogger getInstance()
  {
    if( refLogger == null ) refLogger = new RefLogger();
    return refLogger;
  }

  /**
   * Methode zum Aufrufen der verschiedenen Meldungen die hier klassifiziert sind
   * @param level
   * @param caller
   * @param id
   * @param parms
   */
  public synchronized void log( Level level, Object caller, String id, String[] parms ) 
  {
    MDC.put( "clss", caller.getClass().getName() );
    MDC.put( "id", id );

    String message = id;
    if( null != messagesResBundle ) {
      try {
        message = messagesResBundle.getString( id );
      } catch( MissingResourceException ex ) {/**/}
    }
    if( null != parms )
      message = MessageFormat.format( message, parms );

    switch( level.toInt() ) {
      case Priority.ALL_INT:  
      case Priority.DEBUG_INT: log4jLogger.debug( message ); break;
      case Priority.INFO_INT:  log4jLogger.info(  message ); break;
      case Priority.WARN_INT:  log4jLogger.warn(  message ); break;
      case Priority.ERROR_INT: log4jLogger.error( message ); break;
      case Priority.FATAL_INT: log4jLogger.fatal( message ); break;                        
    }
  }

  public boolean isEnabledFor( Level level )
  {
     return log4jLogger.isEnabledFor( level );
  }
}
 
S

Sauerkraut2k

Gast
noch was vergessen... die Initalisierung der Variablen:

Code:
  private static final String LOG4J_CONFIG_FILE  = "log4j.xml";
  private static final String logName = "logs/test_" + new java.util.Date() + ".log";
  private static final String MESSAGES_RESBUNDLE = "messages/messages";
  private static ResourceBundle messagesResBundle;
  private static RefLogger refLogger;
  private static Logger log4jLogger;
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M log4j Unterverzeichnis mit Datum , Timestamp in LogDateiname Java Basics - Anfänger-Themen 2
K log4j nach log4j2 überführen Java Basics - Anfänger-Themen 0
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
L Erste Schritte Log4J Fragen Java Basics - Anfänger-Themen 5
B Log4J Pfad des Logfiles definieren Java Basics - Anfänger-Themen 6
Tom299 Log4j in jeder Klasse definieren? Java Basics - Anfänger-Themen 12
O Wie Log4J - Ausgaben/Events auffangen?! Java Basics - Anfänger-Themen 3
S log4j in externer Library Java Basics - Anfänger-Themen 4
M xml log4j überschreiben für/in Java Klassen Java Basics - Anfänger-Themen 4
N wie *.class-Dateien mit log4j loggen? Java Basics - Anfänger-Themen 9
F Log4j - log4j:WARN No appenders could be found for logger Java Basics - Anfänger-Themen 1
0 Log4J Probleme beim einlesen der Log datei Java Basics - Anfänger-Themen 2
0 Log4J Instanz erzeugen Java Basics - Anfänger-Themen 2
M Input/Output log4j mit properties datei Java Basics - Anfänger-Themen 6
T LOG4J Konfiguration Java Basics - Anfänger-Themen 5
W log4j "installieren" Java Basics - Anfänger-Themen 10
F ThreadId in Log4j Java Basics - Anfänger-Themen 4
M log4j Java Basics - Anfänger-Themen 11
H Log4J und Angabe eines Ordners Java Basics - Anfänger-Themen 5
A log4j - wie kann ich im Quellcode initialisieren statt in der properties-Datei? Java Basics - Anfänger-Themen 2
A log4j - Warum wird Methode getHeader 2x ausgeführt? Java Basics - Anfänger-Themen 2
S log4j pfad per umgebungsvariable setzen? Java Basics - Anfänger-Themen 2
G Probleme mit log4j Java Basics - Anfänger-Themen 2
M log4j design Java Basics - Anfänger-Themen 11
G log4j Java Basics - Anfänger-Themen 4
S LineNumberReader - bessere Lösung möglich? - Log4J Java Basics - Anfänger-Themen 9
G Kompletten Stacktrace mit Log4j ausgeben Java Basics - Anfänger-Themen 3
M logging mit log4j Java Basics - Anfänger-Themen 4
M log4j frage zu whitespaces Java Basics - Anfänger-Themen 2
G log4j Java Basics - Anfänger-Themen 3
H Log4J Pfad setzen Java Basics - Anfänger-Themen 2
G Log4j? Java Basics - Anfänger-Themen 15
G Log4j notwendig oder nicht? Java Basics - Anfänger-Themen 16
J Log4j + Junit Java Basics - Anfänger-Themen 4
M log4j XML Konfigurationsdatei Java Basics - Anfänger-Themen 2
M "System.out" "System.err" bzw. log4j Java Basics - Anfänger-Themen 9
K log4j Java Basics - Anfänger-Themen 2
S log4j "Richtiges" Design Java Basics - Anfänger-Themen 4
B Log4J Anfänger sucht hilfe! Java Basics - Anfänger-Themen 4
N Log4J Problem Java Basics - Anfänger-Themen 4
C Darstellung von Datum - Codes richtig? Java Basics - Anfänger-Themen 2
L Datum - Monat und Jahr werden falsch angezeigt Java Basics - Anfänger-Themen 4
T Datum als Variable wert Java Basics - Anfänger-Themen 4
T Datum in die als Variabelwert Java Basics - Anfänger-Themen 5
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
S Algorithmus entwicklen, der zu einem gegebenen Datum die Jahreszeit ermittelt Java Basics - Anfänger-Themen 13
berserkerdq2 Wie datum im default format speichern? Java Basics - Anfänger-Themen 5
W Methode, die mit einem Datum arbeitet? Java Basics - Anfänger-Themen 22
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
J Datum ermitteln ? Java Basics - Anfänger-Themen 14
KogoroMori21 Java Datum Differenz (kleiner Fehler) Java Basics - Anfänger-Themen 10
J JDatePicker: Datum wird nicht in Textfeld übernommen Java Basics - Anfänger-Themen 5
N Zwei Daten (Datum) miteinander vergleichen, abspeichern, laden Java Basics - Anfänger-Themen 4
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Datum und Uhrzeit Java Basics - Anfänger-Themen 4
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
B Datum in dieser Range SQL? Java Basics - Anfänger-Themen 3
F Ein Datum (int) durch Methode als String formatieren Java Basics - Anfänger-Themen 2
D Kontoauszüge von bestimmtem Datum Java Basics - Anfänger-Themen 35
B Termine (Datum erstellen), Abhängig von Intervallen Java Basics - Anfänger-Themen 0
A Nächstes Datum ausgeben, if-Schleife unklar Java Basics - Anfänger-Themen 6
J Best Practice Datum Differenz aus zwei Strings ermitteln Java Basics - Anfänger-Themen 8
Bluedaishi Datum in Jtextarea füllen Java Basics - Anfänger-Themen 5
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
S Datum umformatieren Java Basics - Anfänger-Themen 2
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
F LimitedQueue auf Datum prüfen Java Basics - Anfänger-Themen 6
T Datum wird auf der Konsole richtig ausgegeben, aber im Textarea kommt ERROR Java Basics - Anfänger-Themen 8
D Projekte + Datum + löschen Java Basics - Anfänger-Themen 11
M Datum serialisieren Java Basics - Anfänger-Themen 1
S Datum einlesen Java Basics - Anfänger-Themen 1
D Aktuelles Datum wird falsch ausgegeben Java Basics - Anfänger-Themen 2
K Methoden Datum parsen Java Basics - Anfänger-Themen 16
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
MiMa Jüngstes Datum ermitteln Java Basics - Anfänger-Themen 4
2 Uhrzeit und Datum aktualisieren Java Basics - Anfänger-Themen 12
R Problem beim Wochenplan (Datum,Wochentag) Java Basics - Anfänger-Themen 30
O Datum-Werte gruppieren Java Basics - Anfänger-Themen 6
J Java Datum- Zeit Differenz bilden! Java Basics - Anfänger-Themen 4
M Methoden Aus Timestamp das Datum berechnen Java Basics - Anfänger-Themen 3
B Kontoauszug mit Datum ausgeben Java Basics - Anfänger-Themen 4
M Datum in Millisekunden allerdings ohne Uhrzeit Java Basics - Anfänger-Themen 4
DeVolt Java8 Paket Time: Datum prüfen / try-catch Java Basics - Anfänger-Themen 1
T Datum mit einem Datums-Bereich vergleichen Java Basics - Anfänger-Themen 10
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
L Aus Datum Millisekunden ermitteln ohne Zeitzonen-Berücksichtigung Java Basics - Anfänger-Themen 6
P Wieviele Tage seit dem Datum vergangen sind Java Basics - Anfänger-Themen 5
P Liste nach Datum sortieren Java Basics - Anfänger-Themen 7
B tageszahl in Datum umrechnen Java Basics - Anfänger-Themen 6
F Datum Differenz berechnen Java Basics - Anfänger-Themen 7
B String in Datum Java Basics - Anfänger-Themen 3
M CompareTo soll Datum sortieren Java Basics - Anfänger-Themen 2
K Daten (im Sinne von Datum) aus Webseiten extrahieren Java Basics - Anfänger-Themen 6
AssELAss String in Datum umwandeln Java Basics - Anfänger-Themen 4
I Datum und Uhrzeitpattern von Locale Java Basics - Anfänger-Themen 7
H Wie wandel ich ein Datum in eine Zeichenkette um mit StringBuffer? Java Basics - Anfänger-Themen 3
I Datum ohne GregorianCalendar und co. Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben