如何使用java中的log4j创建附加日期和时间的日志文件?

时间:2012-10-19 08:14:52

标签: java log4j

在我的应用程序中,我希望每隔一小时生成日志文件,日期和时间如sample-19.10.2012-1.42p.m。

有人可以给我一些想法吗?

3 个答案:

答案 0 :(得分:3)

您正在寻找DailyRollingFileAppender。

文档:Log4J Manual DailyRollingFileAppender

配置示例(.properties):

log4j.appender.DailyRoller=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRoller.datePattern='.'yyyy-MM-dd_HH
log4j.appender.DailyRoller.file=logs/myLogFile.log
log4j.appender.DailyRoller.layout=org.apache.log4j.PatternLayout
log4j.appender.DailyRoller.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n

此示例将每小时创建一个新文件。您可以通过调整日期模式来更改此设置。例如:yy-MM-dd每天都会创建一个新的日志文件。

答案 1 :(得分:2)

查看转换模式。

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%t] %c.%M (%L) %x - %m%n" />
        </layout>
    </appender>

答案 2 :(得分:0)

您可以动态设置FileAppender

SimpleLayout layout = new SimpleLayout();           
FileAppender appender = new FileAppender(layout,"your filename",false);
logger.addAppender(appender);