2017-12-18 150 views
0

在我的项目中,我们使用log4j进行日志记录。我们每天使用DailyRollingFileAppender,问题是文件按预期每分钟滚动一次。但我们希望将文件存储在不同的位置。以下是我的配置。如何将滚动文件保存在不同的目录中?

<appender name="OUTPUT" 
     class="org.apache.log4j.DailyRollingFileAppender"> 
     <param name="file" value="D:\\log\\selvaLog.log" /> 
     <param name="datePattern" value="yyyy-MM-dd HH-mm'.'" /> 
     <param name="append" value="true" /> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d{dd:MM:yyyy HH:mm:ss.SSS} - %C{1} (%M:%L) - %m%n" /> 
    </layout> 
</appender> 

以上配置创建文件在下面的格式:

D:\Log 
      selvaLog.log 
      selvaLog.log2017-12-18 15-28 
      selvaLog.log2017-12-18 15-29 

但我们想保存这样的文件:

D:\Log 
     selvaLog.log 


D:\Log\Archived 
     selvaLog.log2017-12-18 15-28 
     selvaLog.log2017-12-18 15-29 

是否有可能存储在不同的侧翻位置,而不是当前目录?

任何帮助将不胜感激!

回答

0

对于这样的用例,您必须使用自定义文件appender,您可以从头开始构建归档文件名,并将相对路径前缀到其中的不同目录。

如:

../Archieved/selvaLog.log.2017-12-18

检查出FileAppender

+0

的API,这些可能会有所帮助:https://svn.apache.org/repos/asf/logging/log4j/trunk/ src/main/java/org/apache/log4j/RollingFileAppender.java – MozenRath

+0

https://svn.apache.org/repos/asf/logging/log4j/trunk/src/main/java/org/apache/log4j/DailyRollingFileAppender。 java的 – MozenRath

相关问题