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

导读:本篇文章讲解 springboot中logback日志常用配置,包含日志切割,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

添加依赖:

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

actuator是用来做监控的,包含了logbak依赖:
springboot中logback日志常用配置,包含日志切割

具体配置如下:

  1. bootstrap.yml文件中配置:
spring:
  application:
    name: yourAppName
  1. 在同一目录下新建一个logback-spring.xml文件:
    springboot中logback日志常用配置,包含日志切割
<?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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/16009.html

(0)

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!