前言
第一次玩SpringBoot,想将日志信息打印,log4j的依赖也成功添加了。然而在进行打印的时候居然没有达到预期!十分无奈,好不容易找到问题了,现在做个mark,记录下这个注意事项,以后防止再踩一次!
log4j配置
#打印到控制台
log4j.appender.zhengkw.MyConsole=org.apache.log4j.ConsoleAppender
log4j.appender.zhengkw.MyConsole.target=System.err
log4j.appender.zhengkw.MyConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.zhengkw.MyConsole.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %6p (%c:%M) - %m%n
#打印到日志文件
log4j.appender.zhengkw.File=org.apache.log4j.DailyRollingFileAppender
# 到linux要改成linux地址
#log4j.appender.zhengkw.File.file=/home/zhengkw/gmall/app.log
log4j.appender.zhengkw.File.file=E:\\swimmer\\log\\gmall.log
log4j.appender.zhengkw.File.DatePattern='.'yyyy-MM-dd
log4j.appender.zhengkw.File.layout=org.apache.log4j.PatternLayout
log4j.appender.zhengkw.File.layout.ConversionPattern=%m%n
#声明
log4j.logger.com.zhengkw.gmalllogger.LoggerController=info,zhengkw.File,zhengkw.MyConsole
注意1
声明时注意 加粗位置放的是全类名!是需要打印日志的类的全类名!
log4j.logger.com.zhengkw.gmalllogger.LoggerController=info,zhengkw.File,zhengkw.MyConsole
后面声明的是打印的级别和一些变量名
注意2
因为SpringBoot自带了一个spring-boot-starter-logging,默认是用他来打印日志信息的,所以就算依赖里添加了log4j,而且也将配置文件放在对应位置也不会生效!所以要将spring的这个依赖排除
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除依赖 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 添加 spring log4j 支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>