Log4j与Log4j2有哪些不同的地方
这篇文章将为大家详细讲解有关Log4j与Log4j2有哪些不同的地方,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
丰润网站建设公司创新互联建站,丰润网站设计制作,有大型网站制作公司丰富经验。已为丰润上千多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的丰润做网站的公司定做!
log4j是Apache的一个开源项目,我们不去考究它的起源时间,但是据我了解,log4j 1已经不再更新了。
回顾log4j,曾给我们留下了多少的回忆,我记得早些年,那时候mybatis还是叫ibatis的时候,我为了配置ibatis控制台打印日志,纠结了多少个夜晚,最后配置出来时的那种喜悦感。废话不多说,下面我就以列举的方式来浅谈log4j和log4j 2的不同之处。
1、配置文件类型
log4j是通过一个.properties的文件作为主配置文件的,而现在的log4j 2则已经弃用了这种方式,采用的是.xml,.json或者.jsn这种方式来做,可能这也是技术发展的一个必然性,毕竟properties文件的可阅读性真的是有点差。
2、核心JAR包
log4j只需要引入一个jar包即可,
log4j log4j 1.2.17
•1
•2
•3
•4
•5
•1
•2
•3
•4
•5
而log4j 2则是需要2个核心
org.apache.logging.log4j log4j-core 2.5 org.apache.logging.log4j log4j-api 2.5
•1
•2
•3
•4
•5
•6
•7
•8
•9
•10
•1
•2
•3
•4
•5
•6
•7
•8
•9
•10
大家发现没,log4j和log4j 2的包路径是不同的,Apache为了区分,包路径都更新了,这样大家甚至可以在一个项目中使用2个版本的日志输出哦!(不过我想你们没有那么调皮吧,嘿嘿)
3、文件渲染
log4j想要生效,我们需要在web.xml中进行配置,
org.springframework.web.util.Log4jConfigListener log4jConfigLocation classpath:config/log4j.properties log4jRefreshInterval 60000
•1
•2
•3
•4
•5
•6
•7
•8
•9
•10
•1
•2
•3
•4
•5
•6
•7
•8
•9
•10
这段配置目的在于告诉工程去哪加载log4j的配置文件和定义一个扫描器,这样可以随心所欲的放置log4j配置文件。
log4j2就比较简单,以maven工程为例,我们只需要把log4j2.xml放到工程resource目录下就行了。大家记住一个细节点,是log4j2.xml,而不是log4j.xml,xml名字少个2都不行!!
•喜欢做学问的小伙伴,有兴趣可以去研究下,照我估计应该是在log4j2的包里面配置死了,而且大家可以尝试下怎么自定义log4j2.xml的位置。
4、Log调用
log4j和log4j2调用都是很简单的。
log4j:
import org.apache.log4j.Logger; private final Logger LOGGER = Logger.getLogger(Test.class.getName());
•1
•2
•1
•2
log4j2:
import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; private static Logger logger = LogManager.getLogger(Test.class.getName());
•1
•2
•3
•4
•1
•2
•3
•4
5、配置文件方式
最关键的最大的不同,那就是配置文件的区别了,大家具体使用的时候再根据你的情况进行配置就行了。
log4j2 例子如下:
<?xml version="1.0" encoding="UTF-8"?>
关于Log4j与Log4j2有哪些不同的地方就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
分享文章:Log4j与Log4j2有哪些不同的地方
转载注明:http://scyanting.com/article/psdjhi.html