2017-03-23 5 views
1

開発環境でのトラブルシューティング中に、ログの現在の日付/時刻ではなく、アプリケーションの開始からの時間が必要です。ログバックの設定:現在の日付/時刻ではなく、アプリケーションの開始からのレポート時間

dmesgのように出力されます。

どのような設定とフォーマッタを使用する必要がありますか?

UPDATE公式サイトからの例があります:カスタムレイアウトが実装されてhttps://logback.qos.ch/manual/layouts.html#writingYourOwnLayout

import ch.qos.logback.classic.spi.ILoggingEvent; 
import ch.qos.logback.core.LayoutBase; 

public class MySampleLayout extends LayoutBase<ILoggingEvent> { 

    public String doLayout(ILoggingEvent event) { 
    StringBuffer sbuf = new StringBuffer(128); 
    sbuf.append(event.getTimeStamp() - event.getLoggingContextVO.getBirthTime()); 
    sbuf.append(" "); 
    sbuf.append(event.getLevel()); 
    return sbuf.toString(); 
    } 
} 

が、それは複雑な上だ私にとっては。このような簡単なことは、コンパイルが必要ではなく、構成を必要とするはずです...なぜ、私はjarを再パッケージ化する必要がありますか、またはカスタムライターを含めるにはCLASSPATHを拡張する必要がありますか?

答えて

1

公式ドキュメントはこの上でのノートを持っているようだ:

r/relative Outputs the number of milliseconds elapsed since the start 
       of the application until the creation of the logging event. 

しかし、あなたが dateとしてそれをフォーマットすることはできません。

<encoder> 
     <pattern>%r %5p [%15.15t] %logger%n%m%wEx%n</pattern> 
    </encoder> 
関連する問題