我是靠谱客的博主 谨慎大树,最近开发中收集的这篇文章主要介绍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日志产生方式,压缩方式,自动删除方式暂不清楚


滚动删除

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

最后

以上就是谨慎大树为你收集整理的log4j2日志迁移总结与问题的全部内容,希望文章能够帮你解决log4j2日志迁移总结与问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部