2016-11-03 9 views
1

Log4j2アペンダでは、 filename="/logs/${web:contextPath}.logのようにcontextPathをファイル名として使用すると便利です。つまり、1つのログ設定を複数のWebアプリケーションで再利用できます。Log4j2プロパティの置換

ただし、contextPathが/foo/barの場合、/logs/foo/bar.logというファイルが作成されます。コンテキストパスの/_に置き換えて、ファイル名が/logs/foo_bar.logになるようにしてください。

これは、コンテキストパス構造をログに直接複製するよりも便利です。私はStringSubstitutionドキュメントを読んできましたが、とにかくそれを見ることはできませんが、誰かが解決策を持っていれば、本当に役立つでしょう!

答えて

0

これをボックスから外す方法はありません。しかし、これを行うカスタムルックアップを簡単に作成することができます。

WebLookupをサブクラス化し、返された文字列の '/'文字をアンダースコアに置き換えます。

カスタムLog4j2参照の作成例: manual pageまたはthis questionを参照してください。

+0

ありがとうございます - 私はそれを検討します。 – Mark

+0

Np。何か問題があれば教えてください。 –

関連する問題