繁体   English   中英

查找Log4J日志文件

[英]Finding Log4J log file

我正在开发一个使用Log4J通过Commons的项目。

我正在尝试找到日志文件的路径,但我找不到一个合适的方法来返回Logger中的日志文件路径。

有没有人试过这个?

您必须从根记录器获取所有appender,然后获取日志文件的名称。

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

也许你可以尝试获得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);
}

希望这可以帮助 !

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM