繁体   English   中英

Log4j配置:如何每天创建一个新文件夹?

[英]Log4j configuration: How to create a new folder for each day?

因此,我们正在使用Log4j的DailyRollingFileAppender创建日志文件。 这真的很好,因为它可以每天或每小时创建一个新文件。 我们希望追加程序根据日期创建一个新文件夹,然后根据小时创建新的日志文件。 这可能吗?

这是我们当前的配置...当前设置为将所有日志文件(每小时创建)转储到someFolder 我猜想我们可以在“文件”参数中做一些想做的事情:

    <appender name="PlainFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="someFolder/someFileName_plain.log" />
        <param name="DatePattern" value=".yyyy-MM-dd-HH" />
            <param name="ImmediateFlush" value="true" />
            <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d %-5p [%t] %c{1}: %m%n" />
        </layout> 
            <filter class="com.trgr.cobalt.infrastructure.logging.ClassFilter">
                <param name="classNameFilter" value="com.trgr.cobalt.infrastructure.logging.LogRecord" />
                <param name="acceptOnMatch" value="false" /> 
                <param name="neutrality" value="true" />
            </filter>
    </appender>

使用该附加程序是不可能的,因为它总是将日期附加到指定的文件名(因此,您无法指定一些特殊的文件名来实现结果)并且即使您指定了一些特殊的日期模式也不会创建丢失的目录。

因此,您可以自己编写一个追加程序,也可以在某个地方找到这样的自定义log4j追加程序。 Log4j的后继者logback 具有这样的appender

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM