1.日志文件

  • Spring Boot 日志级别:Debug->INFO->WARN->ERROR
  • Spring Boot 默认日志级别:INFO

2.控制台输出级别控制

(1)application.properties 中配置:ROOT代表默认全局设置

logging.level.ROOT=INFO        //默认输出INFO以上包括INFO级别的日志

(2)application.properties中配置: 单独控制包的日志输出级别

logging.level.org.apache=ERROR  //只有EEEOR信息才会输出到控制台

3.将日志写到指定文件

(1)在 application.properties 设置日志文件目录:

logging.file=F:/logs/document.log

(2)使用logback.xml自定义日志文件输出

logback.xml和application.properties在同一个目录下

<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>projectName</contextName>
    <property name="contextName" value="projectName" />
    <property name="log_dir" value="./logs/" />
    <!--输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 级别过滤器。如果日志级别低于WARN,将被过滤掉。 ALL TRACE DEBUG INFO WARN ERROR-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %msg - %file:%line%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    
    <!-- 每天记录info级别日志文件 -->
    <appender name="InfoRollingFileAppender"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <Prudent>true</Prudent>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %msg - %file:%line%n</Pattern>
        </layout>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${log_dir}/${contextName}_info%d{yyyy-MM-dd}.log
            </FileNamePattern>
        </rollingPolicy>
        <!-- 级别过滤器。如果日志级别低于WARN,将被过滤掉。ALL TRACE DEBUG INFO WARN ERROR-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <!-- 除了DEBUG级别的日志,其它什么级别的日志都不要 -->
        <!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY </onMismatch>
        </filter> -->
    </appender>
    
    <!-- 每天记录ERROR级别日志文件 -->
    <appender name="ErrorRollingFileAppender"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <Prudent>true</Prudent>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %msg - %file:%line%n</Pattern>
        </layout>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${log_dir}/${contextName}_error%d{yyyy-MM-dd}.log
            </FileNamePattern>
        </rollingPolicy>
        <!-- 级别过滤器。如果日志级别低于WARN,将被过滤掉。 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <!-- 除了DEBUG级别的日志,其它什么级别的日志都不要 -->
        <!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY </onMismatch>
        </filter> -->
    </appender>

    <root>
        <appender-ref ref="console" />
        <appender-ref ref="InfoRollingFileAppender" />
        <appender-ref ref="ErrorRollingFileAppender" />
    </root>
</configuration>

使用logback.xml,上面 properties 中日志配置将全部失效

标签云

Bootstrap cdn CentOS Chevereto Cloudflare config Consul Docker Gateway GC Github Hexo Hystrix IDEA JavaScript Java面试题 jsDeliver JS樱花特效 JVM Linux Live2D MyBatis MySQL Nacos Navicat Oracle Pictures Ribbon Sakura Sakurairo Sentinel SEO Spring Boot Spring Cloud Spring Cloud Alibaba SpringMVC Thymeleaf Web Wechat Social WordPress WP-China-Yes Yoast SEO Zookeeper 图床 宝塔