bmfs.net
当前位置:首页 >> 浅谈log4j和log4j2的区别 >>

浅谈log4j和log4j2的区别

区别不大,只是在项目中配置的文件形式不一样。功能上没区别。用xml方式。有web项目中log4.properties不能使用Filter拦截日志级别,而log4j.xml可以,这点感觉log4j.xml要强大些log4j.xml插入数据库的时候sql写在layout属性的Conversi

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

个人觉得对于一个还算比较成熟的开源软件来说Log4j从1.x升级2,保持接口稳定很重要的,其使用来说有了有了一些比较坑爹的改变.x了

输出路径没有完美的解决办法。 log4j.rootLogger=debug,stdout,R1 -->>日志输出debug级别以上的到stdout(控制台) 和R1(自己随便定义的) 1. log4j.appender.R1.File=/log.log -->>这种输出到 盘的 根目录下

为什么不能运行,它报错只能导致日志记录失败,跟你项目本身有什么关系 好看看你的 log4j的propertys或者xml配置文件,看看你自定义的几个Appender都错在哪了

Log4j从1.x升级2.x了,其使用来说有了有了一些比较坑爹的改变,个人觉得对于一个还算比较成熟的开源软件来说,保持接口稳定很重要的。

log4j2和log4j是全局配置的,只能有一个配置文件。 你说的引入另外一个jar,里面的某些方法不想被主工程的log4j2拦截吗? 你可以在Log4j2.xml中,对拦截的包进行单独配置。 如果不能达到需求,建议去log4j2官网文档,十分之详细。

就是版本不同,都是现实一些运行的日志信息和debug信息,版本越高可选的显示信息越全,区别不大。

log4j到log4j2的桥接包 log4j使用private static Logger logger = Logger.getLogger(TestLog4j.class)获取日志对象 log4j2的Logger没有此方法,所以升级的时候可能出现需要更改代码。如果引入此包,可以实现不更改代码升级

try { String myaddress = InetAddress.getLocalHost().getHostAddress().toString(); log.debug("myaddress:\r\n"+myaddress); } catch (UnknownHostException ex) { log.debug("message:",ex); ex.printStackTrace(); } 实际测试,是会换行的 ...

网站首页 | 网站地图
All rights reserved Powered by www.bmfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com