2

在我的应用程序中,我想每隔一小时生成一个带有日期和时间的日志文件,例如 sample-19.10.2012-1.42pm

谁能给我一些想法?

4

3 回答 3

3

您正在寻找 DailyRollingFileAppender。

文档:Log4J 手册 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每天都会创建一个新的日志文件。

于 2012-10-19T08:29:11.670 回答
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>
于 2012-10-19T08:22:00.257 回答
0

您可以动态设置FileAppender

SimpleLayout layout = new SimpleLayout();           
FileAppender appender = new FileAppender(layout,"your filename",false);
logger.addAppender(appender); 
于 2012-10-19T08:22:20.003 回答