logback官网:https://logback.qos.ch/
第一步、下载jar包
Maven 中心的二进制文件:https://repo1.maven.org/maven2/ch/qos/logback/
logback-core-1.2.3.jar
logback-classic-1.2.3.jar
slf4j-api-1.7.26.jar
第二步、配置logback.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
<contextName>logback</contextName>
<!--变量定义文件路径-->
<property name="log.path" value="D:\\logback.log"/>
<!--输出到控制台的配置标志-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 输出流对象,默认System.out 改为System.err -->
<!-- <target>System.out</target>-->
<!-- 系统定义的拦截器,拦截error以下的信息 -->
<!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">-->
<!-- <level>ERROR</level>-->
<!-- </filter>-->
<encoder>
<!-- 格式化输出:%d:日期,%thread:线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符 -->
<pattern>%d{HH:mm:ss.SSS} %contextName [%-5level] %c [%thread] %logger{36}:%msg%n
</pattern>
</encoder>
</appender>
<!--输出到系统文件的配置标志-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志输出路径-->
<file>${log.path}</file>
<!--指定日志文件拆分和压缩规则-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n</pattern>
<!-- 文件字符编码-->
<charset>utf-8</charset>
</encoder>
</appender>
<!-- 级别包括:TRACE、DEBUG、INFO、WARN和ERROR,默认debug,忽略大小写***ALL是全部,OFF是全不打 -->
<root level="debug">
<!-- 注意:如果这里不配置关联打印位置,该位置将不会打印日志 -->
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</root>
<!--logger节点,可选节点,用来具体指明包的日志输出级别,它将会覆盖root的输出级别-->
<!-- <logger name="com.example.logback" level="warn"/>-->
</configuration>
第三步、创建Logback日志对象
// 创建Logback的日志对象,代表了日志技术
public static final Logger LOGGER= LoggerFactory.getLogger("Demo1.class");
第四步、日志输出位置、格式设置
1、输出到控制台的配置标志
<!--输出到控制台的配置标志-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 输出流对象,默认System.out 改为System.err -->
<target>System.out</target>
<!-- 过滤信息 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<!-- 格式化输出:%d:日期,%thread:线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符 -->
<pattern>%d{HH:mm:ss.SSS} %contextName [%-5level] %c [%thread] %logger{36}:%msg%n
</pattern>
</encoder>
</appender>
2、输出到文件的信息
<!--输出到系统文件的配置标志-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志输出路径-->
<file>${log.path}</file>
<!--指定日志文件拆分和压缩规则-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n</pattern>
<!-- 文件字符编码-->
<charset>utf-8</charset>
</encoder>
</appender>
3、定义输出级别
<!-- 级别包括:TRACE、DEBUG、INFO、WARN和ERROR,默认debug,忽略大小写***ALL是全部,OFF是全不打 -->
<root level="debug">
<!-- 注意:如果这里不配置关联打印位置,该位置将不会打印日志 -->
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</root>