2016-06-21 11 views
1

私の目標は、log4jを使用して(json形式の)メッセージをログファイルに展開し、結果としてログファイルをjson-valid構造にすることです。私は現在、log4j.propertiesしているのは次のとおりです。CustomLayoutがどのように見えるlog4j DailyRollingFileAppenderフッターを追加していません

log4j.rootLogger=INFO, FILE 
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.FILE.Append=true 
log4j.appender.FILE.File=out.log 
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd-HH-mm 
log4j.appender.FILE.layout=com.foobar.CustomLayout 
log4j.appender.FILE.layout.ConversionPattern=%m,%n 

:私の実行の終了時に、

class CustomLayout extends PatternLayout { 

    @Override 
    String getHeader() { 
     return "[\n" 
    } 

    @Override 
    String getFooter() { 
     return "{}\n]" 
    } 
} 

しかし、私のすべてのファイルがない JSON-有効である彼らは残っているので、

[ 
{}, 
{}, 

アン:閉じ括弧、すなわちなしどのようにこの問題を解決し、すべてのロールファイルをヘッダーフッターを含めるように私はCustomLayoutで定義したyのアイデアですか?

答えて

0

Log4Jは、ここに記載されているように(https://books.google.ch/books?id=vHvY008Zq-YC&pg=PA89&lpg=PA89&dq=log4j+add+footer&source=bl&ots=yj900eYY7F&sig=WcuhzutCtZ5ZBlV6SpB084sVkkI&hl=de&sa=X&ved=0ahUKEwjRvtD5xrjNAhUIShQKHfxnDJ44ChDoAQgfMAE#v=onepage&q=log4j%20add%20footer&f=false)、Appenderでclose()が呼び出されたときにログにフッターを追加します。フッターを追加するには、手動でアペンダーを閉じる必要があります

関連する問題