0

のようなログファイル名を設定する必要がありますlog-{ClassThatInvokesLogger}-{Data}。拡張でクラス名を取得することは可能FileAppenderですか? この記事「アプリケーションを実行するたびに新しいログ ファイルを作成する方法」では、タイムスタンプ データをログ ファイル名に追加する方法について説明しています。しかし{ClassThatInvokesLogger}ExtendedFromFileAppenderクラスから取得する方法は?

この機能はテストに使用されます。テストごとに新しいログを作成する必要があります。

4

2 に答える 2

0

この問題の回避策を見つけました。MyFileAppender クラスには次のものが必要です

String fileName = logFile.getName() + System.getProperty("InvokingClassName");

同時に、ロガーを呼び出すテストには次のようなものが必要です

@BeforeClass public static void loggerInicialization(){ System.setProperty("InvokingClassName", "MyInvokingClassName"); logger = Logger.getLogger(MyInvokingClassName.class); }

この場合、InvokingClassName にアクセスでき、ログ ファイルの命名に使用できます。ただし、おそらくより良い解決策があります

于 2013-08-19T08:33:05.670 に答える
0
this.getClass().getName()

現在のオブジェクトのクラスの名前を取得します。

于 2013-08-16T14:07:40.797 に答える