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
0
投稿
猜你喜欢
- 做Java编程,难免会遇到多线程的开发,但是JDK8这个CompletableFuture类很多开发者目前还没听说过,但是这个类实在是太好用
- 1.服务配置中心1.1 服务配置中心介绍首先我们来看一下,微服务架构下关于配置文件的一些问题:1.配置文件相对分散。在一个微服务架构下,配置
- 概念介绍不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。01. 强引用这个就
- 本文实例为大家分享了Android实现屏幕保持常亮的具体代码,供大家参考,具体内容如下一、需求背景当我们在玩游戏或者看视频的时候不希望app
- 有时我们会使用@Value自动注入,同时也存在注入到集合、数组等复杂类型的场景。这都是方便写 bug 的场景。1 @Value未注入预期值在
- 问题当我们数据库中的字段和实体类中的字段不一致的时候,查询会出问题数据库字段是 pwdid name pwd1 张三 1234562 李四
- 一、基于WINFORM下的选择对话框在WINFORM下,我们可以利用系统的对话框(MessageBox)来实现,具体思路是读取Message
- 以前用序列化都是一些方法需要才实现的,后来业务需求要深拷贝才去研究。参阅了别人博客得出一些总结。序列化是为了把Java对象转化为字节序列(字
- 一、采用Object.toString()toString方法是java.lang.Object对象的一个public方法。在java中任何
- 前言与消息发送紧密相关的几行代码:1. DefaultMQProducer producer = new DefaultMQProducer
- 微服务启动时报错2021-05-18 21:25:44.644 WARN 5452 — [tbeatExecutor-0
- 目录“头疼”“吃药”工具代码使用代码“头疼”自己在用Angular做项目时,前端要请求后端数据时的代码如下this.http.get(&qu
- 1、Service层:业务层–>控制业务业务模块的逻辑功能设计,和DAO层一样都是先设计接口,再创建要实现的类,然
- 简单介绍一下Java中的Excel文件导出功能(基于HttpServletResponse实现下载)首先,引入需要依赖的jar包:<d
- 截取字符串最后一位1.用substring()来截取理论上它是按照字符串.substring(字符串.lastIndexOf("\
- 我已经很精简了,两篇(Spring Boot启动过程(一)、spring Boot启动过程(二))依然没写完,接着来。refreshCont
- 本文实例为大家分享了WPF自定义选择年月控件的具体代码,供大家参考,具体内容如下封装了一个选择年月的控件,XAML代码:<UserCo
- 前言:有时候我们在用Spring Aop面向切面编程,需要获取连接点(JoinPoint)方法参数名、参数值。环境:Mac OSXIntel
- 1、继承Threadpublic class T4 {public static void main(String[] args) {Sys
- 属性(Attribute)是C#程序设计中非常重要的一个技术,应用范围广泛,用法灵活多变。本文就以实例形式分析了C#中属性的应用。具体入戏: