エラーまたは致命的なレベルのメッセージをログに記録するときに、このライブラリを使用する開発者にテキスト ID を含めることを強制したい (内部) ライブラリを開発しています。log4j を変更しないと、強制したいことは次のようになります。
logger.error( "E1234:エラーが発生しました" );
log4j への拡張がまったくないかマイナーな場合は、ナイトリー ビルド中にソース コードをスキャンしてテキスト ID が含まれていることを確認するか、実行時にそれを確認する log4j アペンダーを実装することができます。
ただし、error-method に追加の引数を追加することをお勧めします。例えば:
logger.error( "E1234", "エラーが発生しました" );
これは、log4j Logger クラスのファサード クラスを実装することで処理できます。
他の誰かに同様の問題がありましたか? あなたの解決策は何ですか?ここでは、最初のコード例を優先します。将来的には、夜間のビルド中に実行するコード アナライザーを実装する可能性があります (または、error() メソッド呼び出しから不足しているテキスト ID を検出するように構成できる既存のコード アナライザーについて知っている人はいますか?)