首先将以下依赖添加到POM.xml中
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
之后配置logback.xml,logback.xml配置详解如下。
<?xml version="1.0" encoding="UTF-8" ?>
<!--
日志输出级别:
日志一般主要看重的有5个级别,优先级如 DEBUG<INFO<WARN<ERROR<FATAL等,
因为在如上的xml中配置的为最低级别DEBUG所有,所有的日志信息都可以看到
-->
<!--
根节点<configuration>,包含三个属性
scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
-->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!--
<property> :用来定义变量值
它有两个属性name和value,通过<property>定义的值会被插入到logger上下文中,可以使“${}”来使用变量。
-->
<property name="APP_NAME" value="slf4j_demo" />
<!--
<contextName> 用来设置上下文名称
默认上下文名称为default。但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录
-->
<contextName>${APP_NAME}</contextName>
<!--
<timestamp>:获取时间戳字符串,他有两个属性key和datePattern
datePattern: 设置将当前时间(解析配置文件的时间)转换为字符串的模式,遵循java.txt.SimpleDateFormat的格式
-->
<timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss" />
<!--
<appender>:负责写日志的组件,它有两个必要属性name和class。
name指定appender名称,class指定appender的全限定名
-->
<!--
ConsoleAppender 把日志输出到控制台,有以下子节点:
<encoder>:对日志进行格式化。(具体参数稍后讲解 )
<target>:字符串System.out(默认)或者System.err
-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>