Apache Log4j-Protokollierung mit bestimmten Zeitzone
Möchte ich das Protokoll sollte enthalten-Datum-Einträge von bestimmten Zeitzone. Gibt es eine Möglichkeit zu zwingen, Zeitzone log4j.properties
?
Nun bin ich mit dem JDK 1.5, Wie Sie bereits wissen, dass es ist timezone bug im JDK 1.5, die entfernt wird, in JDK 1.5. Im Fall von JDK 1.5 ist es standardmäßig zeigt "GMT" - Zeitzone. Ich möchte zum konfigurieren der in Log4j meiner spezifischen Zeitzone.
- genauer zu sein, wie sieht es denn nun und wie soll es Aussehen ?
- Ist es jetzt klar?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wird diese ermöglichen es Ihnen, um zu sehen, Zeitzone Informationen in jeder Zeile deines logs:
Der trick ist, gehören die 'zzz' in das Muster, da laut Javadoc für java.text."=SimpleDateFormat ( http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html ), das ist der code für die Zeitzone. Log4J verwendet die gleichen Regeln wie für " = SimpleDateFormat.
Gibt es mehr details über die in der Log4J-Javadoc:
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
Look für die Zeile in der Tabelle, wo die "Bekehrung Zeichen' ist der Buchstabe 'd'.
PatternLayout
's javadoc: Obwohl ein Teil des standard-JDK, die Leistung" = SimpleDateFormat ist sehr schlecht. Für bessere Ergebnisse ist es empfehlenswert, verwenden Sie die log4j Datum Formatierer. Diese können angegeben werden, indem eine der Zeichenketten "ABSOLUTE", "DATE" und "nach ISO8601" für die Angabe AbsoluteTimeDateFormat, DateTimeDateFormat bzw. ISO8601DateFormat. Beispiel: %d{nach ISO8601} und %d{ABSOLUTE}.Der beste Weg ist die Verwendung der Apache Extras™ für Apache log4j™
Und ersetzen Die normalen PatternLayout von org.apache.log4j.EnhancedPatternLayout dabei folgende Punkte, wenn Sie eine property-Datei:
Dann können Sie %d{nach ISO8601}{GMT} anstelle von %d in der ConversionPattern, um Ihre Datum in GMT-format. Jede Zeitzone kann angegeben werden, statt GMT
Gibt es drei Schritte zu diesem:
1) Fügen Sie die
log4j-extras
Abhängigkeit hier2) Legen Sie das layout, um EnhancedPatternLayout:
log4j.appender.stdout.layout=org.apache.log4j.EnhancedPatternLayout
(ändernstdout
zu Appen, was auch immer Sie verwenden)3) Fügen Sie Ihre Zeitzone in Klammern nach Ihrem Datum-Zeit-Muster
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}{IST} %-5p %c{1}:%L - %m%n
(Hier TRITT in meinem Fall)Finden Sie in der Liste der timezone-ID ' s in java hier oder hier
Verwenden Sie die
org.apache.log4j.helpers.DateLayout
wie das layout Klasse und die EigenschafttimeZone
im es.Gehören ein
date
argument in IhremConversionPattern
. Aus derPatternLayout
- Dokumentation:Datum -
Können Sie fügen Sie die folgende Zeile