美文网首页
logback 日志通用配置文件

logback 日志通用配置文件

作者: 王古 | 来源:发表于2019-08-15 16:49 被阅读0次
    <?xml version="1.0" encoding="UTF-8"?>
    
    <configuration scan="true" scanPeriod="60 seconds" debug="false">
        <!-- 属性定义,根据不同需求修改LOG_HOME 即可 -->
        <property name="LOG_HOME" value="../logs/springbootdemo" />
        <property name="appName" value="springboot" />
        <property name="maxHistory" value="90" />
    
        <!-- ConsoleAppender 控制台输出日志 -->
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <!-- 对日志进行格式化 -->
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n </pattern>
            </encoder>
        </appender>
    
        <!-- DEBUG日志 -->
        <!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 RollingFileAppender-->
        <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 过滤器,记录「所有」级别的日志 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>DEBUG</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>ACCEPT</onMismatch>
            </filter>
            <!-- 滚动策略: 时间 和 大小 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${LOG_HOME}/debug/debugLog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
                <maxFileSize>10MB</maxFileSize>
                <maxHistory>${maxHistory}</maxHistory>
                <totalSizeCap>20GB</totalSizeCap>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n </pattern>
            </encoder>
        </appender>
    
        <!-- INFO级别日志 -->
        <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 过滤器,只记录「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.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${LOG_HOME}/info/infoLog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
                <maxFileSize>10MB</maxFileSize>
                <maxHistory>${maxHistory}</maxHistory>
                <totalSizeCap>20GB</totalSizeCap>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n </pattern>
            </encoder>
        </appender>
    
        <!-- WARN级别日志 -->
        <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 过滤器,只记录「WARN」级别的日志 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>WARN</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${LOG_HOME}/warn/warnLog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
                <maxFileSize>10MB</maxFileSize>
                <maxHistory>${maxHistory}</maxHistory>
                <totalSizeCap>20GB</totalSizeCap>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n </pattern>
            </encoder>
        </appender>
    
        <!-- ERROR级别日志 -->
        <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 过滤器,只记录「ERROR」级别的日志 -->
            <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.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${LOG_HOME}/error/errorLog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
                <maxFileSize>10MB</maxFileSize>
                <maxHistory>${maxHistory}</maxHistory>
                <totalSizeCap>20GB</totalSizeCap>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50}\(%F %L\) -%msg%n </pattern>
            </encoder>
        </appender>
    
        <!-- eg: com.ljq.test 类的日志输出 info 及以上级别的日志 -->
        <!--<logger name="com.ljq.test" level="info" />-->
        <!-- eg: com.ljq.test1 类的日志不输出 -->
        <!--<logger name="com.ljq.test1" additivity="false" />-->
        <logger name="org.apache.ibatis.io" level="info" />
        <logger name="org.mybatis.spring" level="info" />
        <logger name="org.springframework" level="info" />
        <logger name="io.lettuce" level="info"/>
        <logger name="io.netty" level="info" />
        <logger name="com.netflix.eureka" level="warn" />
    
        <!-- 根日志,所有日志appender都必须包含在root/logger中,否则不会起作用 -->
        <root level="debug">
            <appender-ref ref="STDOUT" />
            <appender-ref ref="DEBUG" />
            <appender-ref ref="INFO" />
            <appender-ref ref="WARN" />
            <appender-ref ref="ERROR" />
        </root>
    </configuration>
    

    相关文章

      网友评论

          本文标题:logback 日志通用配置文件

          本文链接:https://www.haomeiwen.com/subject/tmazjctx.html