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 !
精彩评论