log4j2日志迁移总结与问题

最近为实现日志的分类,压缩,将log4j升级为log4j2。虽然有很多文章对其中配置讲的很详细,但实践中仍有不少细节值得补充,虽然看着比较零散,但希望对再次遇到这些问题的有所帮助。


路径配置:

改相对路径为绝对路径,解决日志产生点不固定的问题。

<property name="log_home">${sys:PROJECT_HOME}</property>

<Property name="log_path">log</Property>

绝对路径/${log_home}/${log_path}/info

相对路径${log_path}/info

问题1:高可用是否能让日志在指定位置产生。

问题2:从相对路径到绝对路径的调整原因,猜测1:/,猜测2:sys路径


jar包冲突

在调整log4j到log4j2的过程中,产生了一些jar包冲突

问题1:组件内置日志包和log4j2存在冲突:解决方案,发现后排除。(待验证)

问题2:误引入log4j的包,解决方案,注意代码相关问题

正确日志jar包:

import org.apache.logging.log4j.LogManager;

import org.apache.logging.log4j.Logger;

错误日志jar包:

import org.apache. log4j.LogManager;

import org.apache. log4j.Logger;


nohup.out显示问题:

修改&为 >/dev/null 2>&1 &,但发现错误日志无法正常显示(推测为jar包冲突问题),暂时改为 >/dev/null  &


日志压缩问题:

日志有两种压缩方式

定大小压缩:<SizeBasedTriggeringPolicy size="20MB"/>

定期压缩:<TimeBasedTriggeringPolicy modulate="true" interval="1"/>

注:定期压缩根据设置的压缩格式来压缩,注意压缩包末尾的时间单位

压缩格式:filePattern="/${log_home}/${log_path}/info/info - %d{yyyy-MM-dd}.log.gz"

或者两者皆有


gc日志问题:

有时候程序运行中会产生gc日志,

日志内容包括正常运行的记录,格式如下:

2019-07-11T11:14:46.462+0800: 85483.378: [GC (Allocation Failure) [PSYoungGen: 653311K->15167K(657408K)] 909738K->271594K(2022912K), 0.0302089 secs] [Times: user=0.15 sys=0.00, real=0.03 secs]

错误日志:oom的记录。

问题gc日志产生方式,压缩方式,自动删除方式暂不清楚


滚动删除

网上其实有很多滚动删除的示例,但在实际操作中遇到了滚动删除失败的问题,推测可能为权限问题,如果该问题解决,我会再讲下其中问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值