日志

27 阅读3分钟

日志配置文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">

    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <logger name="com.sun" level="ERROR"/>
    <logger name="sun.rmi" level="ERROR"/>
    <logger name="javax.mail" level="ERROR"/>
    <logger name="org.bson" level="ERROR"/>
    <logger name="org.apache" level="ERROR"/>
    <logger name="com.netflix" level="ERROR"/>
    <logger name="com.apache.ibatis" level="TRACE"/>
    <logger name="java.sql.Connection" level="DEBUG"/>
    <logger name="java.sql.Statement" level="DEBUG"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>

// `stdoutAppender`:这是一个控制台输出的输出器,使用`ConsoleAppender`类
    <!-- 输出一: 控制台输出 -->
    <appender name="stdoutAppender" class="ch.qos.logback.core.ConsoleAppender">
    // 它使用`PatternLayoutEncoder`来定义日志的格式
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>

// `httpInfoAppender`:它是一个按照时间和大小进行滚动的文件输出器,使用`RollingFileAppender`类。它会将日志输出到指定的文件中。文件路径由`logging.path`属性指定,默认为`logs`目录。`logging.file.max-history`属性指定了最多保留的日志文件数量,默认为7个。`logging.file.max-size`属性指定了每个日志文件的最大大小,默认为500MB
    <!-- 输出二: 按照每天生成日志文件 -->
    <springProperty scope="context" name="log_home" source="logging.path"
                    defaultValue="logs"/>

    <springProperty scope="context" name="max_history" source="logging.file.max-history"
                    defaultValue="7"/>

    <springProperty scope="context" name="max_file_size" source="logging.file.max-size"
                    defaultValue="500MB"/>
    <appender name="httpInfoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 过滤日志 -->
        // 定义了一个过滤器(filter),使用`LevelFilter`类。该过滤器将日志级别设置为`INFO`,表示只接受`INFO`级别及以上的日志,而拒绝低于`INFO`级别的日志;这段代码配置了一个按时间和大小滚动的文件输出器,并设置了过滤器和编码器
        
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>  <!-- 表示匹配该级别及以上 -->
            <onMismatch>DENY</onMismatch>  <!-- 表示不匹配该级别以下的 -->
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-http-info.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%.-1024msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="httpErrorAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-http-error.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="logInfoAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-log-info.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%.-1024msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="logErrorAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-log-error.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="commonInfoAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-common-info.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="commonErrorAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-common-error.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="sqlInfoAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-sql-info.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%.-1024msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="sqlErrorAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-sql-error.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="insideInfoAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-inside-info.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%.-1024msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="insideErrorAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-inside-error.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="insideInfoAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-untrustInterface-info.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%.-1024msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="insideErrorAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-untrustInterface-error.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="tencentInfoAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-tencent-info.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="tencentErrorAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-tencent-error.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="mobileInfoAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-mobile-info.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%.-1024msg%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="mobileErrorAppender" 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>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${log_home}/logger-%d{yyyy-MM-dd}-logger-mobile-error.%i.log</FileNamePattern>
            <!--日志文件保留天数,日志最大大小-->
            <maxHistory>${max_history}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${max_file_size}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </encoder>
    </appender>
    <!-- 普通日志 -->
    <logger name="common" additivity="false">
        <appender-ref ref="commonInfoAppender"/>
        <appender-ref ref="commonErrorAppender"/>
    </logger>
    <!-- 普通日志 -->
    <logger name="http" additivity="false">
        <appender-ref ref="httpInfoAppender"/>
        <appender-ref ref="httpErrorAppender"/>
    </logger>
    <!-- nw网接口日志 -->
    <logger name="untrustInterface" additivity="false">
        <appender-ref ref="insideInfoAppender"/>
        <appender-ref ref="insideErrorAppender"/>
    </logger>
    <!-- tx接口日志 -->
    <logger name="tencent" additivity="false">
        <appender-ref ref="tencentInfoAppender"/>
        <appender-ref ref="tencentErrorAppender"/>
    </logger>
    <!-- 移动端接口日志 -->
    <logger name="mobile" additivity="false">
        <appender-ref ref="mobileInfoAppender"/>
        <appender-ref ref="mobileErrorAppender"/>
    </logger>
    <!--请求参数日志-->
    <logger name="org.springframework.web.servlet.PageNotFound" additivity="false">
        <!-- <appender-ref ref="logInfoAppender"/>-->
        <appender-ref ref="logErrorAppender"/>
    </logger>
    <logger name="org.springframework.web.servlet.DispatcherServlet" additivity="false">
        <!-- <appender-ref ref="logInfoAppender"/>-->
        <appender-ref ref="logErrorAppender"/>
    </logger>
    <logger name="org.springframework.web.servlet.NoHandlerFoundException" additivity="false">
        <!-- <appender-ref ref="logInfoAppender"/>-->
        <appender-ref ref="logErrorAppender"/>
    </logger>
    <logger name="org.icss.framework.sleuths.provider.DefaultSleuthLogProvider" additivity="false">
        <!--<appender-ref ref="logInfoAppender"/>-->
        <appender-ref ref="logErrorAppender"/>
    </logger>
    <logger name="org.icss.framework.sleuths.provider.SleuthLogProviderManager" additivity="false">
       <!-- <appender-ref ref="logInfoAppender"/>-->
        <appender-ref ref="logErrorAppender"/>
    </logger>
    <!--SQL参数日志-->
    <logger name="com.alibaba.druid.pool.DruidDataSourceStatLoggerImpl" additivity="false">
        <appender-ref ref="sqlInfoAppender"/>
        <appender-ref ref="sqlErrorAppender"/>
    </logger>
    <logger name="dao" level="DEBUG" additivity="false">
        <appender-ref ref="sqlInfoAppender"/>
        <appender-ref ref="sqlErrorAppender"/>
    </logger>
</configuration>

后续代码若要使用的话~ 举例:

private static final Logger logger = LoggerFactory.getLogger("common");

最后输出日志文件如下图:

image.png