SpringBoot程序中使用log4j,打印日志生成文件失效!

前言

第一次玩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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章