apache日志处理包commons-logging引起的日志覆盖丢失问题

因生产日志覆盖丢失影响问题排查,追溯原因是由于使用旧版commons-logging不支持多线程下log4j操作,导致日志归档时出现错误。通过将commons-logging升级到1.2版本解决问题,并介绍如何设置log4j的字符集以避免乱码。
摘要由CSDN通过智能技术生成

最近发生生产日志覆盖丢失了!

导致过去某个时间段的日志不可查,严重影响了生产问题的解决进度。

追查原因发现最近有个需求需要启动job,系统将存在多个线程,而系统使用的commons-logging还是最早的1.0版本,对多线程下的调用log4j没有支持,导致晚上00点后,归档昨天日志发生覆盖丢失日志。

找到原因后,解决很简单,从Apache上下载1.2版本替换后,一切又正常了。

 

log4j在不同系统上输出的日志编码是有可能不一样的,所以有时候我们会看到乱码,log4j支持自定义字符集,可以解决这个小问题。参数是:log4j.appender.“appender名称”.Encoding=UTF-8

xml格式,配置在appender内部  <param name="Enoding" value="UTF-8"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值