DailyRollingFileAppender 如何马上执行

公司框架写的,日志格式是log4j 执行方式是 DailyRollingFileAppender ,如何让他马上执行,总是内容为空,怎么回事呢

class="org.apache.log4j.DailyRollingFileAppender">

    <!-- Rollover at midnight each day -->
    <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm" />

    <!-- Rollover at the top of each hour
        <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
    -->

    <layout class="org.apache.log4j.PatternLayout">
        <!-- The default pattern: Date Priority [Category] Message\n -->
        <param name="ConversionPattern" value="%d %-5p [%c] %m%n" />

        <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
            <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
        -->
    </layout>
</appender>

[code="xml"]

[/code]
这个是每分钟产生一个日志文件,你看看日志文件是不是产生了许多,你要看的可能已经变成旧文件里面去了

在DailyRollingFileAppender中可以指定monthly(每月)、weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,这是通过为 DatePattern选项赋予不同的值来完成的。DatePattern选项的有效值为:

  • '.'yyyy-MM,对应monthly(每月)

  • '.'yyyy-ww,对应weekly(每周)

  • '.'yyyy-MM-dd,对应daily(每天)

  • '.'yyyy-MM-dd-a,对应half-daily(每半天)

  • '.'yyyy-MM-dd-HH,对应hourly(每小时)

  • '.'yyyy-MM-dd-HH-mm,对应minutely(每分钟)

DatePattern中不用处理的文字要放到单引号(')中,如上面的(.)。

DatePattern格式化之后的文本作为文件名字的后缀。DailyRollingFileAppender不支持格式化之后的文本作为文件名字的前缀。

DailyRollingFileAppender在每一个日志事件(LoggingEvent)附加(append)之前检查是否需要附加。也就是说如果在一个滚动区间中没有任何日志记录,那么这个区间的日志记录文件就不会形成。