后台CMS日志处理记录
自从上一次添加了极光推送之后,我的工程就像是着魔了一样,不管怎么调整,日志级别都是DEBUG。
启动一次工程会打印很多无用日志,今天决定抽时间去研究了一下,最终解决了问题,下面记录一下解决过程。
1.确定到底使用的是什么输出的日志
因为工程越大,导入的依赖越多,首先需要确认使用的是什么来输出的日志。如果不知道盲目的去网上找一些配置文件堆进你的工程,这样并不其作用。那么怎么确定日志输出jar包呢?
Logger logger = LoggerFactory.getLogger(getClass());
System.out.println(logger.getClass().getName());
当你打印出对应的jar包后确定是否有相对应的配置文件。
比如我的最开始输出:【ch.qos.logback.classic.Logger】但是我的程序中并没有对应的配置文件。所以打印的默认就是debug级别了。
2.去掉对应Jar包
通过上一步骤找到了是我引入了Logbak,但是我并没有对Logbak进行配置。我使用的SLF4J,所以这里我选择去除Logbak的依赖。通过Idea的Diagrams功能,找出是什么引用了Logbak的包,然后去除依赖。
<dependency> <groupId>com.sss.commonsec</groupId> <artifactId>commonsec-service</artifactId> <version>0.0.2-SNAPSHOT</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> </exclusions> </dependency>
3.去除Jar包,设置正确的配置文件
去除没有用到的logback依赖后,日志仍可能为debug级别。这个时候使用第一步的方法查看现在使用的是以哪一种进行日志输出的。我这里是使用【log4j】,是我预期的输出Jar包。那么接着就是设置Log4j的配置文件。
log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n #log4j.appender.console.layout.ConversionPattern=[%p] %d [%t] %c{3} (%F\:%L) -%m%n ##\u4fdd\u5b58\u65e5\u5fd7\u4fe1\u606f\u5230\u6587\u4ef6### log4j.appender.D=org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File=${catalina.home}/logs/log.log log4j.appender.D.Append=true log4j.appender.D.Threshold=INFO log4j.appender.D.layout=org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### \u4fdd\u5b58\u5f02\u5e38\u4fe1\u606f\u5230\u5355\u72ec\u6587\u4ef6 ### log4j.appender.D=org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File=${catalina.home}/logs/error.log log4j.appender.D.Append=true log4j.appender.D.Threshold=ERROR log4j.appender.D.layout=org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n log4j.logger.net.rubyeye.xmemcached=OFF log4j.logger.com.google.code.yanf4j=OFF log4j.logger.org.apache.shiro=INFO