log4j配置失效日志中打印Debug信息问题

 更新时间:2021年12月24日 11:56:51   作者:卡卡angel  
这篇文章主要介绍了log4j配置失效日志中打印Debug信息问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

log4j配置失效日志中打印Debug信息

最近发布项目的时候发现控制台打印的日志较往常多了很多,仔细一看,debug和info信息也赫然在列,打开log4j.xml配置文件看一下:

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %t %5p %c{2}: %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">  
		    <param name="LevelMax" value="ERROR" />
		    <param name="LevelMin" value="INFO" />  
		</filter>
	</appender>
    
	<appender name="catAppender" class="com.dianping.cat.log4j.CatAppender">
        <param name="Threshold" value="ERROR"></param>
    </appender>
	<root> 
		<priority value="error" />
		<!-- 日志输出最低级别  -->
		<appender-ref ref="CONSOLE" />
		<appender-ref ref="catAppender" /> 
	</root> 
</log4j:configuration>

配置的是error级别,显然不应该出现debug信息的,一定是配置文件没起作用,什么原因呢?

查资料找到一种解释:Log4j和logback冲突了,这样会导致Log4j的日志级别降低到DEBUG级别。

项目用的是log4j,没用到logback,难道是依赖隐式地加入了logback?打开依赖看下,还真的有logback:

知道了原因,就在maven依赖中把logback去掉。

去除依赖的方法

1. 调到引入logback的依赖处,如图,右键->Jump To Source

2. 排掉logback依赖

<dependency>
<groupId>com.weimob.saas.foundation</groupId>
<artifactId>wxbase-core-service-client</artifactId>
<version>1.3.2-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</exclusion>
</exclusions>
</dependency>

log4j日志的配置--Debug

############################### 日志记录器定义 ###############################
# 日志输出级别 OFF、DEBUG、INFO、WARN、ERROR
log4j.rootLogger = DEBUG,consoleAppender,debug,info,warn,error

############################### 日志输出控制器定义 ###############################
#根记录器 控制台输出控制器
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.Target = System.out
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} - %C [%t\:%r] - [%p] %m%n

#根记录器 文件输出控制器 DEBUG
log4j.logger.debug=debug
log4j.appender.debug = org.apache.log4j.RollingFileAppender
log4j.appender.debug.encoding=UTF-8
log4j.appender.debug.File =E:\\tomcat-8.5.16-x86\\mylog\\debug.log
log4j.appender.debug.Append = true
log4j.appender.debug.Threshold = DEBUG
log4j.appender.debug.MaxFileSize=900KB
log4j.appender.debug.MaxBackupIndex=1
log4j.appender.debug.layout = org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} - %C [%t\:%r] - [%p] %m%n

#根记录器 文件输出控制器 INFO
log4j.logger.info=info
log4j.appender.info = org.apache.log4j.RollingFileAppender
log4j.appender.info.encoding=UTF-8
log4j.appender.info.File =E:\\tomcat-8.5.16-x86\\mylog\\info.log
log4j.appender.info.Append = true
log4j.appender.info.Threshold = INFO
log4j.appender.info.MaxFileSize=900KB
log4j.appender.info.MaxBackupIndex=1
log4j.appender.info.layout = org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} - %C [%t\:%r] - [%p] %m%n

#根记录器 文件输出控制器 WARN
log4j.logger.warn=warn
log4j.appender.warn = org.apache.log4j.RollingFileAppender
log4j.appender.warn.encoding=UTF-8
log4j.appender.warn.File =E:\\tomcat-8.5.16-x86\\mylog\\warn.log
log4j.appender.warn.Append = true
log4j.appender.warn.Threshold = WARN
log4j.appender.warn.MaxFileSize=900KB
log4j.appender.warn.MaxBackupIndex=1
log4j.appender.warn.layout = org.apache.log4j.PatternLayout
log4j.appender.warn.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} - %C [%t\:%r] - [%p] %m%n

#根记录器 文件输出控制器 ERROR
log4j.logger.error=error
log4j.appender.error = org.apache.log4j.RollingFileAppender
log4j.appender.error.encoding=UTF-8
log4j.appender.error.File =E:\\tomcat-8.5.16-x86\\mylog\\error.log
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR
log4j.appender.error.MaxFileSize=900KB
log4j.appender.error.MaxBackupIndex=1
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} - %C [%t\:%r] - [%p] %m%n

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一文带你搞懂Java中的泛型和通配符

    一文带你搞懂Java中的泛型和通配符

    泛型机制在项目中一直都在使用,甚至很多源码中都用到了泛型机制。但是里面很多的机制和特性一直没有明白,尤其通配符这块,经常忘记。本文对此做了一些总结,具有一定借鉴价值,希望有所帮助
    2022-09-09
  • idea如何自动添加版权许可证信息

    idea如何自动添加版权许可证信息

    这篇文章主要介绍了idea如何自动添加版权许可证信息问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 浅谈Java基于Consul创建分布式锁

    浅谈Java基于Consul创建分布式锁

    这篇文章主要介绍了浅谈基于Consul创建分布式锁,Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置Consul是分布式的、高可用的、可横向扩展的,需要的朋友可以参考下
    2023-07-07
  • SpringBoot中对SpringMVC的自动配置详解

    SpringBoot中对SpringMVC的自动配置详解

    这篇文章主要介绍了SpringBoot中的SpringMVC自动配置详解,Spring MVC自动配置是Spring Boot提供的一种特性,它可以自动配置Spring MVC的相关组件,简化了开发人员的配置工作,需要的朋友可以参考下
    2023-10-10
  • Spring Security配置多个数据源并添加登录验证码的实例代码

    Spring Security配置多个数据源并添加登录验证码的实例代码

    这篇文章主要介绍了Spring Security配置多个数据源并添加登录验证码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • java实现多个文件压缩成压缩包

    java实现多个文件压缩成压缩包

    这篇文章主要为大家详细介绍了java实现多个文件压缩成压缩包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 解决Java压缩zip异常java.util.zip.ZipException:duplicate entry:问题

    解决Java压缩zip异常java.util.zip.ZipException:duplicate entry

    这篇文章主要介绍了解决Java压缩zip异常java.util.zip.ZipException:duplicate entry:问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java子类调用父类的私有属性的实现示例

    Java子类调用父类的私有属性的实现示例

    在Java中,我们都知道子类不能直接访问或修改父类的私有属性,本文主要介绍了Java子类调用父类的私有属性的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Java下载远程服务器文件到本地(基于http协议和ssh2协议)

    Java下载远程服务器文件到本地(基于http协议和ssh2协议)

    这篇文章主要介绍了Java下载远程服务器文件到本地的方法(基于http协议和ssh2协议),帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2021-01-01
  • Spring如何自定义XML配置扩展

    Spring如何自定义XML配置扩展

    这篇文章主要介绍了Spring如何自定义XML配置扩展,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12

最新评论