logback/log4j实现log文件一开始自带日期[log4j默认需要触发才会带日期后续]

来源:互联网 发布:数据信息安全管理制度 编辑:程序博客网 时间:2024/06/06 06:57

背景:我们本来是通过记录行为到log,然后第二天下载log来处理,通过log的时间后续来判断是否需要下载。后来发现我们下载前到0点没有log的更新,那么前一天的log是不会加时间后续,导致不会下载处理,结果记录漏了数据。所以想找自带时间戳的方式。


1.Logback

logback使用slf4j,和log4j是两样东西,所以获取的logger也是不一样的。

1.如果只是需要使用time rolling可以使用log4j extras的TimeBasedRollingPolicy来一开始生成日期后续

2.如果既需要日期又需要大小控制就要用logback的SizeBasedTriggeringPolicy和TimeBasedRollingPolicy了


2.Log4j

1.新建一个类,继承fileappender
2.参考DailyRollingFileAppender,源文件在 http://download.csdn.net/detail/abcd1101/9922734 或者 https://wiki.apache.org/logging-log4j/DailyRollingFileAppender
3.修改其中的activateOptions(修改到一开始的文件就带日期),rollOver(修改到换文件名的时候,只是新建文件,不是换文件名,然后setfile到新文件)
4.在log4j.xml里面的fileappender换成自己写的新类
自己写好的在这里:http://download.csdn.net/detail/abcd1101/9922746
阅读全文
0 0