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