Java 如何使log4j覆盖日志文件名或模式?

Java 如何使log4j覆盖日志文件名或模式?,java,log4j,Java,Log4j,我能够使用以下代码片段获取当前日志文件名: Enumeration allAppenders = org.apache.log4j.Logger.getRootLogger().getAllAppenders(); while (allAppenders.hasMoreElements()) { Object appender = allAppenders.nextElement(); if (appender instanceof FileAppender) {

我能够使用以下代码片段获取当前日志文件名:

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;
   }
}
但是,如果我滚动了日志文件,如何获取它们的名称


似乎不能保证滚动日志文件以logFile.getName()作为前缀。

我认为您应该检查和/或(取决于您使用的滚动类型)并使用它们自己的特定方法,例如,对于
DailRollingFileAppender
滚动FileAppender如何?似乎没有方法可以调用,我已经浏览了RollingFileAppender的滚动方法的源代码,似乎log4j也不知道滚动文件名:o