使用日期和时间戳为每次运行创建log4j日志文件 [英] Creating log4j log file for each run with Date and timestamp
问题描述
全部,似乎这个问题多次发布但仍然没有得到适当的解决方案来解决我的问题。我提到这个和这个但是它不起作用。
All, it seems like this question is posted multiple times but still i haven't got proper solution for my problem. I referred this and this but its not working.
根据下面的属性文件,每次都会创建一个新文件,但是我想创建一个格式低于日期的文件,需要每次执行我的应用程序时生成,
As per below property file, a new file is created everytime with date in it But I want to create a log file with below format and need to be generated each and everytime my application is executed,
logFileName_MM_DD_YY-HH_MM_SS.log (或)
logFileName.log_YYYY_MM_DD_HH_MM_SS
logFileName_MM_DD_YY-HH_MM_SS.log (or) logFileName.log_YYYY_MM_DD_HH_MM_SS
# Root logger option
log4j.rootLogger=INFO,file,stdout
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=.\\logs\\AppLog.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
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
推荐答案
编辑 - 删除了 DailyFileAppender
建议。
EDIT - removed the DailyFileAppender
suggestion.
您可以创建自己的 FileAppender
,像这样:
You can create your own FileAppender
, like this:
public class NewFileOnRebootAppender extends FileAppender {
public NewFileOnRebootAppender() {
}
@Override
public void setFile(String file) {
super.setFile(prependDate(file));
}
private static String prependDate(String filename) {
return System.currentTimeMillis() + "_" + filename;
}
}
并按如下方式使用:
log4j.appender.fileOnReboot=yourPackage.NewFileOnRebootAppender
log4j.appender.fileOnReboot.File=appLogOnReboot.log
log4j.appender.fileOnReboot.layout=org.apache.log4j.PatternLayout
log4j.appender.fileOnReboot.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
文件的命名并不完美,但你明白了。 。
The naming of the file is not perfect, but you get the idea..
这篇关于使用日期和时间戳为每次运行创建log4j日志文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!