2016-06-20 8 views
0

ログレベルごとに異なるレイアウトを印刷する方法がありますか?例:log4jのカスタムレイアウト

logger.warn( "Message"); このような印刷:2016-06-20 13:34:41,245 INFO(main :)メッセージ とlogger.info( "Message2"); 印刷のみ:メッセージ2

これは可能ですか?情報の電子他のレイアウトを警告する

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

これを設定するにはlog4j.xmlを使用していますか?あなたはあなたが試したものを提供できますか? – Grayson

+0

どのバージョンのlog4jを使用していますか? –

+0

バージョン:1.2.17 –

答えて

2

を1つのレイアウトを定義するには私がテストしていませんが、それは動作するはずです。 2つのアペンダーを定義し、それぞれのアペンダーにパターンを割り当てる場合。

# 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 

はそれが助け願っています:Thenキーワードしきい値はレベル をフィルタリングする必要があります。

関連する問題