springboot精细化控制日志输出

1.将logback.xml导入到resources中;

2.将application.properties中关于日志的配置都注释掉,springboot会自动采用logback.xml中的配置;

logback.xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--1,定义日志保存的路径-->
    <property name="LOG_HOME" value="d://logs//"/>
    <!--2,定义一个控制台输出器,名为console-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!--按pattern指定的格式输出日志,编码为UTF-8-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{30} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <!--3,定义一个日滚动的日志文件-->
    <appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!--按pattern指定的格式输出日志,编码为UTF-8-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread]  %logger{30} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- 定义保存的文件名 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/info_%d{yyyy-MM-dd}.log</fileNamePattern>
            <!--日志最多保存30天-->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>
    <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!--按pattern指定的格式输出日志,编码为UTF-8-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread]  %logger{30} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- 定义保存的文件名 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/error_%d{yyyy-MM-dd}.log</fileNamePattern>
            <!--日志最多保存30天-->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>
    <!-- 定义日志全局最低输出级别是INFO,同时向控制台和日滚动文件输出 -->
    <root level="INFO">
        <appender-ref ref="console"/>
        <appender-ref ref="info"/>
    </root>
</configuration>

参考链接: https://zhuanlan.zhihu.com/p/58411217

posted @ 2020-12-22 15:45  丙炎  阅读(381)  评论(0)    收藏  举报