从零搭建项目开发框架-26Logback的配置

2017-07-08  本文已影响0人  孔垂云

logback是日志的基础配置,运行时默认放在WEB-INF/classes/logback.xml

先看一下本项目的日志配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
    <property name="logBase" value="d:\\logs\\bdp\\"/>
    <!-- appender -->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} - %m%n
            </pattern>
            <charset>GBK</charset>
        </encoder>
    </appender>

    <!-- 系统日志配置 -->
    <appender name="sysLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/sys.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logBase}/%d{yyyyMMdd}/sys-%d{yyyyMMdd}.log
            </FileNamePattern>
            <maxHistory>365</maxHistory>
        </rollingPolicy>
        <encoder>
            <ImmediateFlush>true</ImmediateFlush>
            <charset>utf-8</charset>
            <Pattern>[%d{yyyyMMdd HH:mm:ss}] - %m%n</Pattern>
        </encoder>
    </appender>
    <appender name="daoLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/dao.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logBase}/%d{yyyyMMdd}/dao-%d{yyyyMMdd}.log
            </FileNamePattern>
            <maxHistory>365</maxHistory>
        </rollingPolicy>
        <encoder>
            <ImmediateFlush>true</ImmediateFlush>
            <charset>utf-8</charset>
            <Pattern>[%d{yyyyMMdd HH:mm:ss}] [%-5level] [%-30logger{0}][%-3L]
                [SeqId:%X{SeqId}] - %m%n
            </Pattern>
        </encoder>
    </appender>
    <appender name="serviceLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/service.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logBase}/%d{yyyyMMdd}/service-%d{yyyyMMdd}.log
            </FileNamePattern>
            <maxHistory>365</maxHistory>
        </rollingPolicy>
        <encoder>
            <ImmediateFlush>true</ImmediateFlush>
            <charset>utf-8</charset>
            <Pattern>[%d{yyyyMMdd HH:mm:ss}] - %m%n</Pattern>
        </encoder>
    </appender>
    <appender name="controllerLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/controller.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logBase}/%d{yyyyMMdd}/controller-%d{yyyyMMdd}.log
            </FileNamePattern>
            <maxHistory>365</maxHistory>
        </rollingPolicy>
        <encoder>
            <ImmediateFlush>true</ImmediateFlush>
            <charset>utf-8</charset>
            <Pattern>[%d{yyyyMMdd HH:mm:ss}]- %m%n</Pattern>
        </encoder>
    </appender>

    <appender name="operationLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/operation.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logBase}/%d{yyyyMMdd}/operation-%d{yyyyMMdd}.log
            </FileNamePattern>
            <maxHistory>365</maxHistory>
        </rollingPolicy>
        <encoder>
            <ImmediateFlush>true</ImmediateFlush>
            <charset>utf-8</charset>
            <Pattern>%m%n</Pattern>
        </encoder>
    </appender>
    <appender name="jobLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/job.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logBase}/%d{yyyyMMdd}/job-%d{yyyyMMdd}.log
            </FileNamePattern>
            <maxHistory>365</maxHistory>
        </rollingPolicy>
        <encoder>
            <ImmediateFlush>true</ImmediateFlush>
            <charset>utf-8</charset>
            <Pattern>[%d{yyyyMMdd HH:mm:ss}]- %m%n</Pattern>
        </encoder>
    </appender>
    <appender name="performanceLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/performance.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logBase}/%d{yyyyMMdd}/performance-%d{yyyyMMdd}.log
            </FileNamePattern>
            <maxHistory>365</maxHistory>
        </rollingPolicy>
        <encoder>
            <ImmediateFlush>true</ImmediateFlush>
            <charset>utf-8</charset>
            <Pattern>[%d{yyyyMMdd HH:mm:ss}] - %m%n</Pattern>
        </encoder>
    </appender>
    <!-- additivity为false不向root控制台输出 -->
    <logger name="sysLog" additivity="false" level="info">
        <appender-ref ref="stdout"/>
        <appender-ref ref="sysLogAppender"/>
    </logger>
    <logger name="daoLog" additivity="false" level="ERROR">
        <appender-ref ref="stdout"/>
        <appender-ref ref="daoLogAppender"/>
    </logger>
    <logger name="serviceLog" additivity="false" level="ERROR">
        <appender-ref ref="stdout"/>
        <appender-ref ref="serviceLogAppender"/>
    </logger>
    <logger name="controllerLog" additivity="false" level="ERROR">
        <appender-ref ref="stdout"/>
        <appender-ref ref="controllerLogAppender"/>
    </logger>
    <logger name="operationLog" additivity="false" level="INFO">
        <appender-ref ref="stdout"/>
        <appender-ref ref="operationLogAppender"/>
    </logger>
    <logger name="performanceLog" additivity="false" level="INFO">
        <appender-ref ref="stdout"/>
        <appender-ref ref="performanceLogAppender"/>
    </logger>
    <logger name="jobLog" additivity="false" level="INFO">
        <appender-ref ref="stdout"/>
        <appender-ref ref="jobLogAppender"/>
    </logger>

    <!-- root 默认日志配置 -->
    <root level="info">
        <appender-ref ref="stdout"/>
    </root>
    <logger name="org.springframework" level="INFO"/>
</configuration>

讲一下主要配置属性

日志的配置很重要,尤其是在分布式部署的情况下, 日志的输出更为重要。

源码下载

本阶段详细源码

上一篇 下一篇

猜你喜欢

热点阅读