Log exploration (3) A preliminary exploration of logback

The overall components of logback include Logger, Appenders and Layouts

Configurationstructure diagram
write picture description here

The configuration of logback is similar to that of log4j

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="LOG_FILE_HOME" value="D://logs/logback" />
    <property name="MODULE_NAME" value="logback" />
    <property name="DEFAULT_LEVEL" value="debug" />

    <!-- stdout appender定义 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d [%thread][%X{hostName}][%X{userName}][%X{requestTime}] %-5level %logger{68} %line - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 日志文件 appender定义 -->
    <appender name="commonFileAppender"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_FILE_HOME}/${MODULE_NAME}.log</File>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover minute 保存60分钟-->
            <fileNamePattern>${LOG_FILE_HOME}/${MODULE_NAME}.log.%d{yyyy_MM_DD_HH_mm}</fileNamePattern>
            <maxHistory>60</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d [%thread] %-5level (%logger{36} %line) - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- error日志 -->
    <appender name="commonErrorFileAppender"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_FILE_HOME}/${MODULE_NAME}_error.log</File>

        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover one day -->
            <fileNamePattern>${LOG_FILE_HOME}/${MODULE_NAME}.log.%d{yyyy_MM_DD}</fileNamePattern>
            <maxHistory>60</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d [%thread] %-5level (%logger{36} %line) - %msg%n</pattern>
        </encoder>
    </appender>


    <logger name="com.wuhulala" additivity="false">
        <level value="info" />
        <appender-ref ref="STDOUT" />
        <appender-ref ref="commonFileAppender" />
        <appender-ref ref="commonErrorFileAppender" />
    </logger>

    <root level="${DEFAULT_LEVEL}">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="commonFileAppender" />
        <appender-ref ref="commonErrorFileAppender" />
    </root>
</configuration>


maven dependencies

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326323776&siteId=291194637