在我的应用程序中,我希望每隔一小时生成日志文件,日期和时间如sample-19.10.2012-1.42p.m。
有人可以给我一些想法吗?
答案 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);