查找Log4J日志文件

我正在开发一个使用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); } 

希望这可以帮助 !