2016-06-20 19 views
0

Es gibt eine Möglichkeit, ein anderes Layout für verschiedene Protokollebenen zu drucken? Zum Beispiel:Benutzerdefiniertes Layout für log4j

logger.warn ("Nachricht"); Drucken Sie etwas wie folgt: 2016-06-20 13: 34: 41,245 INFO (main :) Nachricht und für logger.info ("Message2"); nur drucken: Message2

Ist das möglich? So definieren Sie ein Layout e anderes Layout für Infos

log4j.properties

# Root logger option 
log4j.rootLogger=INFO, file, stdout 

# Direct log messages to a log file 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=log4j.log 
log4j.appender.file.MaxFileSize=10MB 
log4j.appender.file.MaxBackupIndex=10 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%m%n %d %-5p [%c] (%t:%x) %m%n 

# Direct log messages to stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%c] (%t:%x) %m%n 
+0

Verwenden Sie log4j.xml, um dies zu konfigurieren? Kannst du das zur Verfügung stellen, was du versucht hast? – Grayson

+0

Welche Version von log4j verwenden Sie? –

+0

Die Version ist: 1.2.17 –

Antwort

2

ich nicht getestet zu warnen, habe aber es sollte funktionieren. Wenn Sie zwei Appender definieren und jedem Appender ein Muster zuweisen. Dann wird das Schlüsselwort Threshold sollte das Niveau filtern :

# Root logger option 
log4j.rootLogger=INFO, fileWarning, fileInfo, stdout 

log4j.appender.fileWarning=org.apache.log4j.RollingFileAppender 
log4j.appender.fileWarning.File=log4j.log 
log4j.appender.fileWarning.MaxFileSize=10MB 
log4j.appender.fileWarning.MaxBackupIndex=10 
log4j.appender.fileWarning.layout=org.apache.log4j.PatternLayout 
log4j.appender.fileWarning.layout.ConversionPattern=%m%n %d %-5p [%c] (%t:%x) %m%n 
log4j.appender.fileWarning.Threshold=WARNING 

log4j.appender.fileInfo=org.apache.log4j.RollingFileAppender 
log4j.appender.fileInfo.File=log4j.log 
log4j.appender.fileInfo.MaxFileSize=10MB 
log4j.appender.fileInfo.MaxBackupIndex=10 
log4j.appender.fileInfo.layout=org.apache.log4j.PatternLayout 
log4j.appender.fileInfo.layout.ConversionPattern=%m%n 
log4j.appender.fileInfo.Threshold=INFO 

Hoffe, dass es Hilfe gibt.