SpringBoot之SpringBoot整合log4j

共 2945字,需浏览 6分钟

 ·

2021-01-30 10:44

点击上方蓝色字体,选择“标星公众号”

优质文章,第一时间送达

  作者 |  彼岸舞

来源 |  urlify.cn/63ARZr

76套java从入门到精通实战课程分享

添加Maven依赖修改POM.xml

在默认的情况下,SpringBoot自动整合了最简单的logback,那么要想使用log4j就要先排除默认的日志框架,然后添加log4j场景启动器

 

 修改的是web的场景启动器,增加的是log4j的场景启动器,因为在新版中是没有spring-boot-starter的,所以加到了web中,记得添加lombok不知道如何集成的,请参考《SpringBoot之SpringBoot整合lombok》


            org.springframework.boot
            spring-boot-starter-web
            
                
                
                    org.springframework.boot
                    spring-boot-starter-logging
                

            

        


        
            org.springframework.boot
            spring-boot-starter-log4j
            1.3.8.RELEASE
        

新建log4j.properties

 

 log4j.properties

#定义根节点
log4j.rootLogger=DEBUG,error,CONSOLE,info

#设置控制台打印
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender     
#设置为格式化打印 PatternLayout
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout     
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n    

#设置info级别的日志
log4j.logger.info=info
#输出到日志文件
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout     
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n  
#日期文件名格式化
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.Threshold = info   
#是否追加
log4j.appender.info.append=true
#文件存放位置
log4j.appender.info.File=E:/dance/demo/log/info.log

log4j.logger.error=error  
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout     
log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n  
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.Threshold = error   
log4j.appender.error.append=true
log4j.appender.error.File=E:/dance/demo/log/error.log

log4j.logger.DEBUG=DEBUG
log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout     
log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n  
log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd
log4j.appender.DEBUG.Threshold = DEBUG   
log4j.appender.DEBUG.append=true
log4j.appender.DEBUG.File=E:/dance/demo/log/dubug.log

配置文件解读:我觉得这个解读比较不错,想了解具体含义的可以看看

修改配置文件application.yml

logging:
  # 设置logback.xml位置
#  config: classpath:log/logback.xml
  # 设置log4j.properties位置
  config: classpath:log4j.properties

启动项目测试:

info日志成功输入到info.log

 

 

访问接口不穿参数,看一下错误日志是否会记录

 

 

 查看日志

在这里我发现了一个问题,就是当程序报错的时候明明是error级别的错误,但是log4j打印出来的却是debug级别所以error文件,根本写不进去东西

测试:

  log4j控制台输出调为 info级别

访问接口

 

 

error级别错误

 

 

 控制台都没有显示的

尝试降低控制台日志级别为debug

 

 

 再次测试

 

 

 打印出来居然是debug级别的,在网上找了找,说是需要调整到warn级别,再次尝试

emmm都不想贴图了,一点反应没有了,尝试在程序中手动打印error级别错误,看看能不能写到文件中

emm,手动写的写进入了

 

 好吧,也算是能用了,推荐使用SpringBoot默认集成的Logback





粉丝福利:Java从入门到入土学习路线图

👇👇👇

👆长按上方微信二维码 2 秒


感谢点赞支持下哈 

浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报