The overall components of logback include Logger, Appenders and Layouts
Configuration
structure diagram
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>