Поиск файла журнала Log4J - PullRequest
       25

Поиск файла журнала Log4J

18 голосов
/ 09 декабря 2010

Я работаю над проектом, который использует Log4J через Commons.

Я пытаюсь найти путь к файлу журнала, но не могу найти подходящий метод, который возвращает путь к файлу журнала из регистратора.

Кто-нибудь когда-нибудь пытался это сделать?

Ответы [ 2 ]

31 голосов
/ 09 декабря 2010

Вы должны получить все приложения из корневого регистратора , а затем получить имя файла журнала.

    Enumeration e = Logger.getRootLogger().getAllAppenders();
    while ( e.hasMoreElements() ){
      Appender app = (Appender)e.nextElement();
      if ( app instanceof FileAppender ){
        System.out.println("File: " + ((FileAppender)app).getFile());
      }
    }
1 голос
/ 09 декабря 2010

Может быть, вы могли бы попытаться получить 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);
}

Надеюсь, это поможет!

...