美文网首页
SpringBoot 【 第二章 】日志管理

SpringBoot 【 第二章 】日志管理

作者: 陈兄 | 来源:发表于2019-01-25 13:59 被阅读0次
    image

    Log4j记录日志

    很熟悉常见,开发人员常用的一个日志记录插件

    引入log4j依赖

    引入spring-boot-starter,其中包括spring-boot-starter-log4j。

      <!-- Spring Boot web依赖 -->
        <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 Boot Log4j依赖 -->
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-log4j</artifactId>
          <version>1.3.8.RELEASE</version>
        </dependency>
    

    配置log4j.properties

    在src/main/resources目录下加入log4j.properties配置文件.

    控制台输出

    通过如下配置,设定root日志的输出级别为INFO,appender为控制台输出e

      # LOG4J配置
      log4j.rootCategory=INFO, e
      # 控制台输出
      log4j.appender.e=org.apache.log4j.ConsoleAppender
      log4j.appender.e.layout=org.apache.log4j.PatternLayout
      log4j.appender.e.layout.ConversionPattern=[%p]%d{yyyy-MM-dd HH:mm:ss,SSSS}%n[%m]%n
    

    输出到文件

    在开发环境,我们只是输出到控制台没有问题,但是到了生产或测试环境,或许持久化日志内容,方便追溯问题原因。可以通过添加如下的appender内容,按天输出到不同的文件中去,同时还需要为log4j.rootCategory添加名为file的appender,这样root日志就可以输出到logs/err.log文件中了。

      # LOG4J配置
      log4j.rootCategory=INFO, e
      # 控制台输出
      log4j.appender.e = org.apache.log4j.RollingFileAppender
      log4j.appender.e.maxFileSize = 100KB
      log4j.appender.e.maxBackupIndex = 10
      log4j.appender.e.ImmediateFlush = true
      log4j.appender.e.threshold = error
      log4j.appender.e.layout = org.apache.log4j.PatternLayout
      log4j.appender.e.layout.ConversionPattern = [%p]%d{yyyy-MM-dd HH:mm:ss,SSSS}%n[%m]%n
      log4j.appender.e.file = ${user.dir}/logs/err.log
    

    分类输出

    日志量较多的时候,查找问题会非常困难,常用的手段就是对日志进行分类.可以对不同级别进行分类,比如对ERROR级别输出到特定的日志文件中.
    ERROR

      # 控制台输出
      log4j.appender.e = org.apache.log4j.RollingFileAppender
      log4j.appender.e.maxFileSize = 100KB
      log4j.appender.e.maxBackupIndex = 10
      log4j.appender.e.ImmediateFlush = true
      log4j.appender.e.threshold = error
      log4j.appender.e.layout = org.apache.log4j.PatternLayout
      log4j.appender.e.layout.ConversionPattern = [%p]%d{yyyy-MM-dd HH:mm:ss,SSSS}%n[%m]%n
      log4j.appender.e.file = ${user.dir}/logs/err.log
    

    DEBUG

      # 控制台输出
      log4j.appender.d = org.apache.log4j.RollingFileAppender
      log4j.appender.d.maxFileSize = 100KB
      log4j.appender.d.maxBackupIndex = 10
      log4j.appender.d.ImmediateFlush = true
      log4j.appender.d.threshold = debug
      log4j.appender.d.layout = org.apache.log4j.PatternLayout
      log4j.appender.d.layout.ConversionPattern = [%p]%d{yyyy-MM-dd HH:mm:ss,SSSS}%n[%m]%n
      log4j.appender.d.file = ${user.dir}/logs/debug.log
    

    INFO

      # 控制台输出
      log4j.appender.i = org.apache.log4j.RollingFileAppender
      log4j.appender.i.maxFileSize = 500KB
      log4j.appender.i.maxBackupIndex = 10
      log4j.appender.i.ImmediateFlush = true
      log4j.appender.i.threshold = info
      log4j.appender.i.layout = org.apache.log4j.PatternLayout
      log4j.appender.i.layout.ConversionPattern = [%p]%d{yyyy-MM-dd HH:mm:ss,SSSS}%n[%m]%n
      log4j.appender.i.file = ${user.dir}/logs/info.log
    

    介绍如何在spring boot中引入log4j以及基础用户,详情请参考<strong>Log4j官方网站 [http://logging.apache.org/log4j/1.2/]</strong>
    <strong>对应代码分享在 [https://github.com/UpdateCw/SpringBoot]</strong>

    相关文章

      网友评论

          本文标题:SpringBoot 【 第二章 】日志管理

          本文链接:https://www.haomeiwen.com/subject/iyvmjqtx.html