slf4j+log4j 实现日志打印
项目场景:
今天看以前的项目,运行起来报错,项目日志对于项目是很重要的,但是控制台没有打印出来日志,运行起来报错的问题先放一放,先把日志的问题解决了,我项目中有log4j.propertie
检查一番之后,到底为什么没有把日志打印出来,控制台为什么没有显示,下面我们来看
问题描述:
检查各项都没问题控制台日志没有输出
原因分析:
slf4j是一个接口,日志的打印还是需要具体的实现,可以用logback,log4j.这是两个常用的实现方式,在项目中如果我们使用logback 就需要在resource中配置logback.xml 如果我们使用log4j就需要在resource中配置log4j.properties 我们最好不要两个同时使用,也没有必要解决方案:
log4j.properties文件是否存在 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020121115155410.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhdG91bmlhbzE=,size_16,color_FFFFFF,t_70)pom.xml 需要引入相关的jar
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<!--这里一定要配置slf4j-simple,要不会报缺少logback.groovy文件 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.5</version>
</dependency>
是否有其他的干扰包
如果这个地方有commons-logging 尽量排除
所有的commons-logging都要 这样设置
最后log4j的配置:
#ShowAll
log4j.rootLogger = INFO,console,file,error
#Console
log4j.logger.console=DEBUG
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p - %m%n
#File
log4j.logger.info=INFO
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File = /home/tmp/common
log4j.appender.file.DatePattern=_yyyyMMdd'.log'
log4j.appender.file.encoding=UTF-8
log4j.appender.file.Append=true
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss,SSS} %p - %m%n
#File
log4j.logger.error=ERROR
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.File = /home/tmp/common
log4j.appender.error.DatePattern=_yyyyMMdd'.log'
log4j.appender.error.encoding=UTF-8
log4j.appender.error.Append=true
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern=%d{HH:mm:ss,SSS} %p - %m%n
希望对你有所帮助