如何在不同的目录中保存滚动文件?

时间:2017-12-18 10:03:03

标签: java log4j

在我的项目中,我们使用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

是否可以将翻转存储在不同的位置,而不是当前目录?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

对于类似这样的用例,您必须使用自定义文件appender,从头开始构建存档文件名,并在此处为相应路径添加前缀。

例如:

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

查看FileAppender

的API