开发者

Finding Log4J log file

I'm working on a project that uses Log4J via Commons.

I'm trying to find the path to the log file, 开发者_C百科but I'm not finding an appropriate method that will return the logfile path from the Logger.

Anyone ever attempted this?


You have to get all appenders from the root logger and then get the name of the log file.

    Enumeration e = Logger.getRootLogger().getAllAppenders();
    while ( e.hasMoreElements() ){
      Appender app = (Appender)e.nextElement();
      if ( app instanceof FileAppender ){
        System.out.println("File: " + ((FileAppender)app).getFile());
      }
    }


Maybe you could try to get the Appenders ?

Enumeration appenders = logger.getRootLogger().getAllAppenders(); 

If you have a FileAppender, you can get the File ...

Something like that :

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);
}

Hope this helps !

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜