[英]log4j - one file per run
I have found a similar question for log4net( log4net one file per run ), but i am struggling to convert this to log4j.properties file format.我发现 log4net 有一个类似的问题( 每次运行 log4net 一个文件),但我正在努力将其转换为log4j.properties文件格式。 The patters just don't get applied:
模式只是没有得到应用:
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File = logs/log-%d{yy/MM/dd HH:mm:ss}.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
...
I see what is wrong here, but I don't know how to fix it.我知道这里有什么问题,但我不知道如何解决。
You need to use RollingFileAppender with the RollingStyle set to Date.您需要使用RollingFileAppender并将 RollingStyle 设置为 Date。 So the config would look something like
所以配置看起来像
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.RollingStyle=Date
log4j.appender.file.DatePattern=yy-MM-dd_HH-mm-ss
log4j.appender.file.StaticLogFileName=false
log4j.appender.file.File=logs/log.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
I don't think it is possible to use slashes or colons in the date pattern as these are not characters that can occur in a file name.我认为不能在日期模式中使用斜杠或冒号,因为这些不是可以出现在文件名中的字符。
Note that this will actually create a new log file every second, which doesn't match what you've asked for in the title of your question.请注意,这实际上每秒都会创建一个新的日志文件,这与您在问题标题中要求的内容不符。 If you really want a new log file for every run then you should set the RollingStyle to Once.
如果您真的希望每次运行都有一个新的日志文件,那么您应该将 RollingStyle 设置为一次。 But in this case your file name will not contain a date pattern.
但在这种情况下,您的文件名将不包含日期模式。
May be this is what you are asking.可能这就是你要问的。
http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/ http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/
courtesy : Is it possible to configure log4j to create a new file with every run of the application?礼貌: 是否可以配置 log4j 以在每次运行应用程序时创建一个新文件?
Try RollingFileAppender尝试 RollingFileAppender
log4j.rootLogger=debug, stdout, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\\\log4j-application.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.