springboot中logback日志常用配置,包含日志切割

版权声明:原创博文,转载请注明出处~ https://blog.csdn.net/She_lock/article/details/84333745

添加依赖:

       <!--监控-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

actuator是用来做监控的,包含了logbak依赖:

具体配置如下:

  1. bootstrap.yml文件中配置:
spring:
  application:
    name: yourAppName
  1. 在同一目录下新建一个logback-spring.xml文件:
<?xml version="1.0" encoding="UTF-8"?>

<configuration debug="false" scan="false">
    <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue="pig"/>
    <property name="log.path" value="logs/${spring.application.name}" />
    <!-- Console log output -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{MM-dd HH:mm:ss.SSS} %-5level [%logger{50}] - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Log file debug output -->
    <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/debug.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/%d{yyyy-MM}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <maxFileSize>50MB</maxFileSize>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Log file error output -->
    <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <maxFileSize>50MB</maxFileSize>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>

    <!-- Level: FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7 -->
    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="debug" />
        <appender-ref ref="error" />
    </root>
</configuration>

配置代码分别是三个级别的日志输出,即控制台输出、debug文件全日志输出和error错误文件日志输出,其中debug和error日志输出做了日志滚动策略,也就是我们通常所说的日志切割,每天产生一个日志文件,日志文件最大50MB,最长保留30天日志。

  • root:上面配置表示日志级别>=info的,参与上面的日志输出。level用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,不能设置为INHERITED或者同义词NULL。 默认是DEBUG。
  • rollingPolicy:设置了日志滚动策略,其中fileNamePattern设置了命名规范,maxFileSize表示日志文件最大为多少,maxHistory表示设置文件最大保存时间。
  • encoder:日志输出格式。
  • file:表示输出的日志文件名称。
  • filter :过滤输出日志级别

有关更多logbak配置字段详解,请查看 https://www.cnblogs.com/warking/p/5710303.html

猜你喜欢

转载自blog.csdn.net/She_lock/article/details/84333745