如何在log4j2 运行时异常以编程方式添加log4j2日子吗

log4j是Apache的一个开源项目,log4j2和log4j是一个作者,只不过log4j2是重新架构的一款日志组件,他抛弃了之前log4j的不足,以及吸取了优秀的logback的设计重新推出的一款新组件。log4j2的社区活跃很频繁而且更新的也很快。

log4j是通过一个.properties的文件作为主配置文件的,而现在的log4j 2则已经弃用了这种方式,采用的是.xml,.json或者.jsn这种方式来做,可能这也是技术发展的一个必然性,毕竟properties文件的可阅读性真的是有点差。

log4j只需要引入一个jar包即可,

log4j和log4j 2的包路径是不同的,Apache为了区分,包路径都更新了

log4j想要生效,我们需要在web.xml中进行配置,

这段配置目的在于告诉工程去哪加载log4j的配置文件和定义一个扫描器,这样可以随心所欲的放置log4j配置文件。

log4j2就比较简单,以maven工程为例,我们只需要把log4j2.xml放到工程resource目录下就行了。大家记住一个细节点,是log4j2.xml,而不是log4j.xml,xml名字少个2都不行!!

最关键的最大的不同,那就是配置文件的区别了,大家具体使用的时候再根据你的情况进行配置就行了。

<!-- 文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用 --> <!-- 这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 -->
}

log4j2不仅仅是log4j的简单升级,而是整个项目的重构,官网地址:,大家可以从官网的介绍看出它相比log4j第1代的种种优点。

更多关于logger name继承的规则,请参考

内容前面那段“复杂的”配置差不多,就不重复贴出来了

}

今天在启动之前的Spring Boot项目的时候出现了这样的异常:

 
显然是jar包冲突了,联想到前几天添加了ZooKeeper的相关依赖,将相关依赖排除即可。
 


如果你项目的日志是基于Spring Boot的日志来的,建议不要使用这个方法。





依赖上移,我的ZooKeeper依赖是在service模块中,将其移至父工程中即可。
}

我要回帖

更多关于 log4j2 运行时异常 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信