2008-12-11 16 views
45

das ist mein Logausgabelog4j mit Zeitstempel pro Protokolleintrag

INFO main digestemails - process inbox 
INFO main digestemails - checking for emails in c:\development\DCMail\email\KN-Source 
INFO main digestemails - digesting [email protected] 
INFO main digestemails - extracting attachments 
INFO main digestemails - no attachments or no attachments supported 
INFO main digestemails - updating database 
INFO main digestemails - email -> COMPLETED folder 
INFO main digestemails - 

I pro Lognachricht einen Zeitstempel möchte also

INFO 2008-12-25 13:14:00 digestemails - email -> COMPLETED folder 

hier ist meine log4j Konfigurationsdatei

log4j.rootLogger=debug, stdout, R 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 

# Pattern to output the caller's file name and line number. 
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n 

log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=c:\\development\\DCMail\\logs\\digestlogfolder\\digest-logfile.log 

log4j.appender.R.MaxFileSize=100KB 
# Keep one backup file 
log4j.appender.R.MaxBackupIndex=1 

log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 

Wie mache ich das?

Antwort

83

Verwenden Sie% d in Ihrem PatternLayout.

Auch% d kann ein Formatmuster verwenden wie in% d {TT MMM JJJJ HH: MM: SS, SSS} Sie können die gewünschten Elemente auswählen und auswählen. Wenn das Formatmuster weggelassen wird, wird das Datum im ISO8601-Format angezeigt.

+1

Nur um dies zu schreiben, wollte ich meine Klasse Unterschrift kleiner machen, so habe ich '% d {dd MMM yyyy HH: mm: ss, SSS}% -4r [% t]% -5p% c {1}% x -% m% n'. Das ** {1} ** druckt nur c anstelle von a.b.c der Klassensignatur. – Siddharth

+4

können Sie Ihr Muster online testen: http://log4jtester.com/ –

15

Ein Auszug aus meinen Eigenschaften

Datei
log4j.rootLogger=INFO, stdout, logfile 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) [%c] - %m%n 

log4j.appender.logfile=org.apache.log4j.RollingFileAppender 
log4j.appender.logfile.File=C:/log/client.log 
log4j.appender.logfile.MaxFileSize=5MB 
log4j.appender.logfile.MaxBackupIndex=0 
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n