java如何在每次程序执行时在log4j中创建日志文件?
我目前正在使用log4j中的DailyRollingFileAppender类进行每日日志文件追加,但我希望日志文件按以下格式分开:
DATA.log.<date>_<time>_<random_#>
这应该在每个程序执行时执行一次,所以我最终会得到如下结果
DATA.log.2011-01-13_12-46-38_<26>
DATA.log.2011-01-13_12-46-38_<79>
DATA.log.2011-01-13_12-46-38_<590>
来自不同环境的不同日志文件可以汇集在一起
在不扩展FileAppender类的情况下,是否仍然可以执行此操作?至少,有没有办法做到:
DATA.log.<date>_<time>_<sequential_#>.log
谢谢
编辑:我已经在使用DailRollingFileAppender来获取类似数据的东西。日志2011-01-13. 我想知道的是如何让日志文件在每次程序执行之后(或每次程序执行之前)滚动,并在最后添加一个随机数字字符串
# 1 楼答案
看看:Setting a log file name to include current date in Log4j
编辑: 将此类添加到项目中,并将其用作追加器:
然后只需将appender的文件名设置为:filename.%rnd。日志
# 2 楼答案
在代码中设置一个新的环境属性:
然后,在log4j文件中,使用
${randomString}
使用该变量希望有帮助