ログメッセージに1、2、3のように順番に番号を付けたい場合、アプリケーションにLog4jを実装しています。この文字列に追加する必要があるもの
log4j.appender.file.layout.ConversionPattern = ? | %-7p | %-30F | %-5L | %-90m | %d %n
「?」の場所の文字列 メッセージにシーケンス番号を付けるには何を書けばよいですか。
よろしくマユール
次の 2 つのオプションがあります。
%r
log4j が開始されてからのミリ秒数です。%d{ISO8601}
または独自のカスタム形式を使用して、並べ替え可能な日付を作成できます。[編集]ログメッセージに順番に番号を付けるには、独自のPatternLayout
. メソッドをオーバーライドしてcreatePatternParser()
、カスタム パターンを使用できるようにします%S
。
では、次のPatternParser
場合にオーバーライドして独自にfinalizeConverter()
追加します。PatternConverter
c == 'S'
protected
void finalizeConverter(char c) {
if( 'S' == c ) return SequentialConverter.INSTANCE;
else return super.finalizeConverter(c);
}
SequentialConverter
静的カウンターが必要です。format()
次に、ログ メッセージにカウンターを追加するようにオーバーライドできます。
public
void format(StringBuffer sbuf, LoggingEvent e) {
sbuf.append( counter );
}