[英]How do I get log4j rolled over log file name or pattern?
I was able to get the current log file name with this fragment of code: 我可以使用以下代码片段获取当前的日志文件名:
Enumeration allAppenders = org.apache.log4j.Logger.getRootLogger().getAllAppenders();
while (allAppenders.hasMoreElements())
{
Object appender = allAppenders.nextElement();
if (appender instanceof FileAppender)
{
File logFile = new File(((FileAppender) appender).getFile());
break;
}
}
But if I have rolled over log files, how do I get their names? 但是,如果我将日志文件翻转了,该如何获取它们的名称?
It seems like it's not guaranteed that rolled over log files start with logFile.getName() as its prefix. 似乎不能保证滚动的日志文件以logFile.getName()作为前缀开头。
我认为您应该检查org.apache.log4j.RollingFileAppender和/或org.apache.log4j.DailyRollingFileAppender (取决于您使用的滚动类型),并使用自己的特定方法,例如,对于DailyRollingFileAppender
使用getDatePattern()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.