2

\s+log4j では、パターン内で複数のスペース (: など) をどのように表現しますか? 私はこのようなパターンを持ってい%d{ISO8601}\t%t\t%m %nますが、チェーンソーと LogMX を解析していたとき、タブ区切りは信頼できません。tab-separated ではなく multiple-space-separated の置換を探していますが、見つかりません。

どんな助けでも大歓迎です。ありがとうございました。

4

4 に答える 4

3

log4j のレイアウト パターンは正規表現パターンではなく、文字列の検索には使用されません。その名前が示すように、log4j によって印刷されるメッセージをレイアウトするために使用されます。\s+ のようなものでは、印刷するスペースの数をどのように知るのでしょうか? したがって、メッセージ レイアウトに複数のスペースが必要な場合は、これらのスペースをパターンに明示的に入力する必要があります。

于 2014-03-25T08:12:55.587 に答える
1

本当に何を達成したいのかわかりませんが、 PatternLayout ドキュメントの「フォーマット修飾子」の説明を参照してください。

于 2014-03-25T08:22:20.270 に答える
0

Chainsaw は、log4j の「LogFilePatternReceiver」を使用してログ ファイルを処理します。

LogFilePatternReceiver には複数のスペースをマージするコードがありますが、そのコードは \s+ の代わりに [ ]+ を使用します

\s+ を使用するように変更することを検討します。

于 2014-03-28T17:55:09.433 に答える