Поиск файла журнала Log4J
Я работаю над проектом, который использует Log4J через Commons.
Я пытаюсь найти путь к файлу журнала, но я не нахожу подходящий метод, который вернет путь к файлу журнала из Logger.
Кто-нибудь когда-либо пытался это сделать?
Ответы
Ответ 1
Вы должны получить все приложения из корневого регистратора, а затем получить имя файла журнала.
Enumeration e = Logger.getRootLogger().getAllAppenders();
while ( e.hasMoreElements() ){
Appender app = (Appender)e.nextElement();
if ( app instanceof FileAppender ){
System.out.println("File: " + ((FileAppender)app).getFile());
}
}
Ответ 2
Возможно, вы могли бы попытаться получить Appenders?
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);
}
Надеюсь, это поможет!