1

私はLOG4jとSLF4jを使用しています。

各ログ メッセージを別のファイル (info.log、warning.log、error.log) に分けようとしています。

たとえば、log4j.appender.infoFile.Threshold=INFOを使用して DEBUG メッセージをフィルター処理していますが、WARN および ERROR メッセージも除外する方法がわかりません。INFO メッセージを書きたいだけです。warning.log も同様です。

# Direct log messages to INFO log file
  log4j.appender.infoFile=org.apache.log4j.RollingFileAppender
  log4j.appender.infoFile.File=info.log 
  log4j.appender.infoFile.MaxFileSize=1MB
  log4j.appender.infoFile.MaxBackupIndex=1
  log4j.appender.infoFile.append=false 
  log4j.appender.infoFile.layout=org.apache.log4j.PatternLayout
  log4j.appender.infoFile.Threshold=INFO
4

3 に答える 3

1

ドキュメントから、「ログ出力をレベルごとに異なるアペンダーに送信することは可能ですか?」、それは言います:

正確なレベル一致でイベントをフィルタリングする必要がある場合は LevelMatchFilter、任意のアペンダーに をアタッチして、正確なレベル一致でロギング イベントを除外できます。

それはあなたが探しているもののようです。

于 2013-09-10T13:52:17.683 に答える
0

最終的なコードは次のとおりです。

# Direct log messages to INFO log file
    log4j.appender.infoFile=org.apache.log4j.RollingFileAppender
    log4j.appender.infoFile.File=info.out 
    log4j.appender.infoFile.MaxFileSize=1MB
    log4j.appender.infoFile.MaxBackupIndex=1
    log4j.appender.infoFile.append=false 
    log4j.appender.infoFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.infoFile.Threshold=INFO

    log4j.appender.infoFile.filter.a=org.apache.log4j.varia.LevelMatchFilter
    log4j.appender.infoFile.filter.a.LevelToMatch=INFO    
    log4j.appender.infoFile.filter.a.AcceptOnMatch=true 
    log4j.appender.infoFile.filter.b=org.apache.log4j.varia.LevelMatchFilter
    log4j.appender.infoFile.filter.b.LevelToMatch=ERROR    
    log4j.appender.infoFile.filter.b.AcceptOnMatch=false    
    log4j.appender.infoFile.filter.c=org.apache.log4j.varia.LevelMatchFilter
    log4j.appender.infoFile.filter.c.LevelToMatch=WARN    
    log4j.appender.infoFile.filter.c.AcceptOnMatch=false  
    log4j.appender.infoFile.filter.e=org.apache.log4j.varia.LevelMatchFilter
    log4j.appender.infoFile.filter.e.LevelToMatch=DEBUG    
    log4j.appender.infoFile.filter.e.AcceptOnMatch=false  
    log4j.appender.infoFile.filter.f=org.apache.log4j.varia.LevelMatchFilter
    log4j.appender.infoFile.filter.f.LevelToMatch=FATAL    
    log4j.appender.infoFile.filter.f.AcceptOnMatch=false  

誰かの役に立つかどうかはわかりません

于 2013-09-10T14:25:54.457 に答える