Commons経由でLog4Jを使用するプロジェクトに取り組んでいます。
ログファイルへのパスを見つけようとしていますが、ロガーからログファイルのパスを返す適切なメソッドが見つかりません。
誰かがこれを試みたことがありますか?
すべてのアペンダーを取得する必要がありますルートロガーから次に、ログファイルの名前を取得します。
Enumeration e = Logger.getRootLogger().getAllAppenders();
while ( e.hasMoreElements() ){
Appender app = (Appender)e.nextElement();
if ( app instanceof FileAppender ){
System.out.println("File: " + ((FileAppender)app).getFile());
}
}
たぶんあなたはアペンダーを手に入れようとすることができますか?
Enumeration appenders = logger.getRootLogger().getAllAppenders();
FileAppenderをお持ちの場合は、ファイルを取得できます...
そんな感じ :
FileAppender fileAppender = null;
Enumeration appenders = logger.getRootLogger().getAllAppenders();
while(appenders.hasMoreElements()) {
Appender currAppender = (Appender) appenders.nextElement();
if(currAppender instanceof FileAppender) {
fileAppender = (FileAppender) currAppender;
}
}
if(fileAppender != null) {
logDest = fileAppender.getFile();
System.out.println("logDest : " + logDest);
}
お役に立てれば !