• Spring Boot——log4j日志配置案例


    背景

    • 公司使用maven、Spring Boot搭建微服务项目,使用log4j输出日志
    • Maven 3.5
    • SPring Boot 2.2

    项目配置

    • 项目目录如下
    • pom.xml配置(只显示和log4j有关的配置)
      • <dependency>
           <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-web</artifactId>
              <version>${spring-boot-starter.version}</version>
              <exclusions>
                 <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                 </exclusion>
              </exclusions>
        </dependency>
        
        <dependency>
           <groupId>io.github.lognet</groupId>
           <artifactId>grpc-spring-boot-starter</artifactId>
           <version>3.5.1</version>
           <exclusions>
              <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.rootLogger=INFO,DEBUG,ERROR, stdout
        log4j.appender.stdout=org.apache.log4j.ConsoleAppender
        log4j.appender.stdout.Target=System.out
        log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
        log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n
        
        #----------------------------文件存在项目根目录下-----------------------# #
        ---------------------------------------------------------------------------------------------------- #输出INFO级别以上的内容到info.log中 log4j.logger.INFO=INFO log4j.appender.INFO = org.apache.log4j.DailyRollingFileAppender log4j.appender.INFO.File = logs/supersiver/objects/info.log log4j.appender.INFO.Threshold = INFO log4j.appender.INFO.Append = true log4j.appender.INFO.layout = org.apache.log4j.PatternLayout log4j.appender.INFO.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n #----------------------------------------------------------------------------------------------------- #输出DEBUG 级别以上的日志到debugger.log log4j.logger.DEBUG=DEBUG log4j.appender.DEBUG = org.apache.log4j.DailyRollingFileAppender log4j.appender.DEBUG.File = logs/supersiver/objects/debugger.log log4j.appender.DEBUG.Threshold = DEBUG log4j.appender.DEBUG.Append = true log4j.appender.DEBUG.layout = org.apache.log4j.PatternLayout log4j.appender.DEBUG.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n #----------------------------------------------------------------------------------------------------- #输出ERROR 级别以上的日志到error.log log4j.logger.ERROR=ERROR log4j.appender.ERROR = org.apache.log4j.DailyRollingFileAppender log4j.appender.ERROR.File =logs/supersiver/objects/error.log log4j.appender.ERROR.Threshold = ERROR log4j.appender.ERROR.Append = true log4j.appender.ERROR.layout = org.apache.log4j.PatternLayout log4j.appender.ERROR.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

    拓展

    • Spring Boot本身就内置了日志功能,使用的是LogBack,所以我们想要使用log4j作为日志输出的话,需要在pom.xml中将Spring Boot内置的日志LogBack排除,否则很容易和log4j产生冲入,导致项目报错
  • 相关阅读:
    在 jQuery Repeater 中为多个字段排序
    使用 AjaxManager 生成调用服务器端方法的 javascript 函数
    使用 JQueryElement ResponseProgress 显示页面执行进度
    (原创)反ARP攻击的绝招,让你在ARP的炮雨攻击下永不掉线
    (原创)最详细可靠的Cadence16.01破解crack和安装方法步骤
    (原创)PCI总线特性及信号说明
    (原创)Modelsim的“The system date appears to have been set back.Cannot continue”问题的解决办法
    爱你哦
    为ASP.NET封装的SQL数据库访问类
    JavaScript中的高级特性及特别对象、属性和方法
  • 原文地址:https://www.cnblogs.com/zuiyue_jing/p/12740815.html
Copyright © 2020-2023  润新知