Java 查找 Log4J 日志文件
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/4401251/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Finding Log4J log file
提问by wadesworld
I'm working on a project that uses Log4J via Commons.
我正在开发一个通过 Commons 使用 Log4J 的项目。
I'm trying to find the path to the log file, but I'm not finding an appropriate method that will return the logfile path from the Logger.
我正在尝试找到日志文件的路径,但我没有找到合适的方法来从 Logger 返回日志文件路径。
Anyone ever attempted this?
有人尝试过吗?
采纳答案by dogbane
You have to get all appenders from the root loggerand then get the name of the log file.
您必须从根记录器中获取所有 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());
}
}
回答by LaGrandMere
Maybe you could try to get the Appenders ?
也许您可以尝试获取 Appenders ?
Enumeration appenders = logger.getRootLogger().getAllAppenders();
If you have a FileAppender, you can get the File ...
如果你有一个 FileAppender,你可以得到 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 !
希望这可以帮助 !