1.Maven依赖
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
2.类与接口框架图整理(仅针对3中配置的)
3.配置logback.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true">
<contextName>logback</contextName>
<property name="LOG_PATTERN" value="[%d{yyyy-MM-dd HH:mm:ss}] [%c][%t][%L][%p] %m%n"/>
<property name="LOG_PATH" value="D:/后端/project/src/main/resources/log"/>
<!--使用ConsoleAppender创建Appender接口实例对象,将日志输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!--使用PatternLayoutEncoder创建Encoder接口实例对象-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--设置PatternLayoutEncoder实例对象的pattern属性,定义输出格式-->
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--使用RollingFileAppender创建Appender接口实例对象,将日志输出到文件-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--使用SizeAndTimeBasedRollingPolicy创建RollingPolicy接口实例对象,文件内存达到峰值自动创建文件-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxFileSize>200mb</maxFileSize>
<maxHistory>60</maxHistory>
</rollingPolicy>
<!--使用PatternLayoutEncoder创建Encoder接口实例对象-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--设置PatternLayoutEncoder实例对象的pattern属性,定义输出格式-->
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--logger1:打印com.example.demo.common.mapper中执行的sql日志(日志级别:debug)-->
<logger name="com.example.demo.common.mapper" level="DEBUG" additivity="false">
<appender-ref ref="file"/>
<appender-ref ref="console"/>
</logger>
<!--打印系统运行日志(日志级别:info)-->
<root level="INFO" additivity="false">
<appender-ref ref="file"/>
<appender-ref ref="console"/>
</root>
</configuration>
以上配置是在windows上的,linux版本的等部署到服务器后再更改
3.1 appender节点(class="ch.qos.logback.core.ConsoleAppender")
1.属性name
指定name,便于后续通过 <appender-ref ref="..."/>引用到该appender,确定日志通过什么方式输出
2.属性class
Appender<E>是接口,需指定class实现类,便于通过该实现类创建Appender<E>接口的实例对象
3.1.1 encoder节点(class="ch.qos.logback.classic.encoder.PatternLayoutEncoder")
1.属性class
Encoder<E>是Appender<E>接口类型实现类实例对象中的接口类型变量,指定class实现类创建Encoder<E>接口类型的实例对象
3.1.1.1 pattern节点
该参数是Encoder<E>接口类型的实例对象的pattern属性,用来指定输出日志的格式
3.2 appender节点(class="ch.qos.logback.core.rolling.RollingFileAppender")
1.属性name
指定name,便于后续通过 <appender-ref ref="..."/>引用到该appender,确定日志通过什么方式输出
2.属性class
Appender<E>是接口,需指定class实现类,便于通过该实现类创建Appender<E>接口的实例对象
3.2.1 rollingPolicy节点(class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy")
该节点用于控制日志输出的路径,若文件无法存储,自动创建日志继续记录
RollingPolicy<E>是接口,需指定class实现类
3.2.1.1 fileNamePattern节点
fileNamePattern是RollingPolicy<E>接口实现类实例对象的属性,指定RollingPolicy接口实现类实例对象的fileNamePattern属性,确定日志输出格式
3.2.1.2 maxFileSize节点
maxFileSize是RollingPolicy<E>接口实现类实例对象的属性,指定RollingPolicy接口实现类实例对象的maxFileSize属性,确定文件最大容量
3.2.1.3 maxHistory节点
maxHistory是RollingPolicy<E>接口实现类实例对象的属性,指定RollingPolicy接口实现类实例对象的maxHistory属性,确定保存最大文件数
3.2.2 encoder节点(class="ch.qos.logback.classic.encoder.PatternLayoutEncoder")
1.属性class
Encoder<E>是Appender<E>接口类型实现类实例对象中的接口类型变量,指定class实现类创建Encoder<E>接口类型的实例对象
3.2.2.1 pattern节点
该参数是Encoder<E>接口类型实现类实例对象的pattern属性,用来指定输出日志的格式
3.3 logger节点
1.属性name
指定要打印日志的包
2.属性level
指定要打印的日志的类型(Error,Info...)
待更新!!!!!学无止境!