zoukankan      html  css  js  c++  java
  • SpringBoot之SpringBoot整合log4j

    SpringBoot之SpringBoot整合log4j

    添加Maven依赖修改POM.xml

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

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

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <!-- 排除自带的logback依赖 -->
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-log4j</artifactId>
                <version>1.3.8.RELEASE</version>
            </dependency>

    新建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

    作者:彼岸舞

    时间:2021126

    内容关于:SpringBoot

    本文来源于网络,只做技术分享,一概不负任何责任

  • 相关阅读:
    Vue 生命周期
    Vue
    对象
    【菜鸟学php】用菜鸟的眼光浅谈php上传文件
    在职程序猿为啥要考相关证书
    微信分享js失效,分享内容自定义将作为接口开放
    【菜鸟学Linux】gzip解压报错:gzip: stdin has more than one entry--rest ignored
    【菜鸟学php】在敲代码的路上,给自己点时间来思考
    【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员
    eclipse中使用ctrl无法追踪函数的问题(php项目)
  • 原文地址:https://www.cnblogs.com/flower-dance/p/14331077.html
Copyright © 2011-2022 走看看