log4j配置失效日志中打印Debug信息问题
作者:卡卡angel 发布时间:2022-10-12 10:13:12
标签: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
来源:https://blog.csdn.net/u014266077/article/details/80747858


猜你喜欢
- Java的一个重要特性就是通过垃圾收集器(GC)自动管理内存的回收,而不需要程序员自己来释放内存。理论上Java中所有不会再被利用的对象所占
- java对字符串进行utf-8编码我们在调用第三方 API 时,常常会被要求用到路径变量,而路径变量一般都是 utf-8 编码的,因此需要对
- 在日常开发中经常遇到控件不能随着父容器大小的改变而且自动改变控件的所在位置和大小。以下是实现的代码 /// <summary>
- 一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码:public class GenericTest {public
- 一、前置说明本节大纲使用lombok插件的好处如何安装lombok插件使用lombok提高开发效率二、使用lombok插件的好处我们在jav
- Bluetooth结构1、JAVA层frameworks/base/core/java/android/bluetooth/包含了bluet
- 避免"索引越界"错误的规则如下(针对C++):不要使用静态或动态分配的数组,改用array或vector模板不要使用带方
- 在安全卫生上,经常看到有圆形的进度条在转动,效果非常好看,于是就尝试去实现一下,具体实现过程不多说了,直接上效果图,先炫耀下。效果图:分析:
- 前言为什么Spring Boot 定时任务是单线程的?想要解释为什么,一定要从源码入手,直接从@EnableScheduling这个注解入手
- 本文实例为大家分享了Unity shader实现消融效果的具体代码,供大家参考,具体内容如下效果图:shader代码:// Upgrade
- 前言 spring事务管理包含两种情况,编程式事务、声明
- 笔者上次用C#写.Net代码差不多还是10多年以前,由于当时Java已经颇具王者风范,Net几乎被打得溃不成军。因此当时笔者对于这个.Net
- spring mvc @PathVariable / 带斜杠方式获取遇上这个问题,百度google了一下,抄袭里面的内容,可以实现,在此备忘
- maven 打包 动态启动脚本介绍如何通过maven的环境变量动态打包, 并动态改变启动脚本中的环境参数之前都是每个环境一个启动脚本, 其实
- 本文主要讲解Android浏览器的开发实例,有三部分内容:启动Android默认浏览器、指定浏览器进行访问以及打开本地的htm
- 前言在上一篇普通的加载千篇一律,有趣的 loading 万里挑一 中,我们介绍了使用Path类的PathMetrics属性来控制绘制点在路径
- 接收 / 返回文本消息①接收/返回文本消息原理说明当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的UR
- 下面给大家介绍spring不能注入static变量的原因,具体详情如下所示:Spring 依赖注入 是依赖 set方法set方法是 是普通的
- 策略模式的应用场景策略模式是否要使用,取决于业务场景是否符合,有没有必要。是否符合如果业务是处于不同的场景时,采取不同的处理方式的话,就满足
- 一、什么是状态模式定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。主要解决:当控制一个对象状态的条件表达式过于