使用log4j创建包含日期的日志文件 [英] Create log file with date using log4j
问题描述
我正在使用下面的代码编写我的日志文件,但它将文件存储为 QueryLog.log
。我错过了什么吗?检查我的代码 log4j.properties
file
I'm writing my log file using below code but it stores file as QueryLog.log
. Am i missing something? Check my code of log4j.properties
file
log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
log4j.logger.org.hibernate.hql.ast.AST=info
log4j.logger.org.hibernate.tool.hbm2ddl=warn
log4j.logger.org.hibernate.hql=debug
log4j.logger.org.hibernate.cache=info
log4j.logger.org.hibernate.jdbc=debug
log4j.rootLogger = DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd-a
log4j.appender.FILE.File=log4j/QueryLog.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern= %d{HH:mm:ss} %-5p %c - %m%n
我使用的链接:
http://www.tutorialspoint.com/log4j/log4j_logging_files.htm
http://www.codejava.net/coding/configure-log4j-for-creating-每日滚动日志文件
推荐答案
如此StackOverflow Q& A , RollingFileAppender的目的
是以某个定义的间隔自动创建新的日志文件。在 DailyRollingFileAppender
的情况下,该间隔是每天的12:00 AM。
As is mentioned in this StackOverflow Q&A, the purpose of a RollingFileAppender
is to automatically create a new log file at some defined interval. In the case of the DailyRollingFileAppender
, that interval is 12:00 AM of each day.
这意味着什么是log4j创建的第一个文件将具有您在此处指定的文件名:
What this means is that the first file created by log4j will have the file name you specified here:
log4j.appender.FILE.File=log4j/QueryLog.log
从那时起,每天都会创建一个带有日期的新日志文件附加到它。
And, from then forward, each day a new log file will be created with the date appended to it.
要始终使用附加日期命名文件,您可以使用 DatedFileAppender
To always name the file with the date appended, you could use DatedFileAppender
by Geoff Mottram
这篇关于使用log4j创建包含日期的日志文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!