logback日志打印,日志是一个项目必不可少的模块,追踪问题到解决问题依赖的对象,这边记录logback的使用方式。
1.首先导入依赖包:
<!-- slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- logback -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- 代码直接调用log4j会被桥接到slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- 代码直接调用commons-logging会被桥接到slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- 代码直接调用java.util.logging会被桥接到slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
2.在src/main/resources下创建一个logback文件命名为:logback.xml,文件内容可以根据自己需要配置,这边不对具体文件内容做解释,有兴趣可以去看logback相关的配置介绍,我这边举个常用的例子:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 打印日志到控制台 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 典型的日志pattern -->
<encoder>
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 打印日志到指定文件夹 RollingFileAppender 循环日志文件打印 -->
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.home}/logs/project-cgi/project-cgi.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 指定日志文件名的命名方式 -->
<fileNamePattern>${user.home}/logs/project-cgi/project-cgi.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 保留 30天数据,默认无限-->
<maxHistory>30</maxHistory>
</rollingPolicy>
<!-- 典型的日志pattern -->
<encoder>
<pattern>%date [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 指定包和日志级别 -->
<logger name="com.aaa.bbb" level="DEBUG" />
<!-- 指定数据库语句志级别 -->
<logger name="jdbc.sqltiming" level="INFO"/>
<logger name="dao" level="DEBUG"/>
<!-- 指定要执行打印的appender -->
<root level="INFO">
<appender-ref ref="console" />
<!-- <appender-ref ref="File" /> -->
</root>
</configuration>
3.最后一步就是在自己的class文件中引入logger
private static final Logger logger = LoggerFactory.getLogger(A.class);
记得对应的包要是:org.slf4j.LoggerFactory; org.slf4j.Logger;