温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么使用log4j2关闭debug日志

发布时间:2021-12-24 14:26:58 来源:亿速云 阅读:398 作者:iii 栏目:开发技术

这篇文章主要讲解了“怎么使用log4j2关闭debug日志”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用log4j2关闭debug日志”吧!

log4j2关闭debug日志

最近项目引进入一个jar包,启动之之后debug日志就停不下来了,为了关闭这个日志花了半个下午。总结以下处理方式,以供大家参考:

1.如果引入了logback的jar包,排除引用(我的项目里没有引用)

<exclusions>
 <exclusion>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
 </exclusion>
 <exclusion>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-core</artifactId>
 </exclusion>
</exclusions>

2.调整log4j2的日志打印级别,log4j2.xml(对于我的项目没有起作用)

<configuration status="info" monitorInterval="600" >

3.指定加载文件web.xml 中添加指定日志文件 (我的项目无效)

  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>WEB-INF/classes/log4j2.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>

4.添加log4j.properties (对于我的项目有效)

log4j.rootLogger=info,stdout

备注:因为我的项目里由于第三方jar包引入了slf4j-log4j12和log4j2冲突,所以exclude掉slf4j-log4j12 jar包就是可以的

Log4J和slf4j的debug日志问题

很多人知道,在使用slf4j的过程中通常会引入两个jar包,大概如下:

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.21</version>
</dependency>

当使用最终的日志实现,如Log4j时,又会引入log4j相关的jar包,如下:

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.21</version>
</dependency>

这样就可以在Java应用程序(Java Web服务和Java程序)中,输出由slf4j编写的日志。

但在使用过程中发现,在执行测试用例(加载Spring或未加载Spring)的时候,不管怎么配置log4j.properties文件,都会出现部分debug日志输出不了的情况,具体就是自己写的那部分的debug日志不会输出,而如Spring或MyBatis等框架的debug日志就可以输出。

后面根据slf4j的警告日志,说是有多个日志实现,从而不确定具体选哪一个具体日志实现。经过进一步的调试,删除slf4j-simple的依赖后,所有的debug日志都可以如期的输出。

感谢各位的阅读,以上就是“怎么使用log4j2关闭debug日志”的内容了,经过本文的学习后,相信大家对怎么使用log4j2关闭debug日志这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI