前言:
上文我们介绍了log4j的三种使用情况。
本文依旧按照这种方式来介绍下logback的使用。
只不过logback与log4j是有所不同的,logback-classic包本身就引入了slf4j相关包(slf4j-api),而logback-classic包里也包含了slf4j-logback的相关对接实现。所以使用logback-classic包就相当于使用了slf4j
1.logback单独使用 1.1 引入maven依赖
ch.qos.logback
logback-classic
1.2.3
1.2 配置logback.xml
以下是笔者从网络上找到的一个模板
logback
1
20
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} -%msg%n
${FILE_PATH}/file.log
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} -%msg%n
${FILE_PATH}/rolling.log
${FILE_PATH}/rolling%i.log
1
5
20MB
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} -%msg%n
${FILE_PATH}/java_log/test%d{yyyy-MM-dd_HH-mm}.log
10
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} -%msg%n
debug
ACCEPT
DENY
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} -%msg%n
info
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} -%msg%n
1.3 类中使用logback
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogTest {
private static final Logger logger = LoggerFactory.getLogger(LogTest.class);
public static void main(String[] args) {
logger.debug("debug msg");
logger.info("info msg");
logger.warn("warn msg");
logger.error("error msg");
}
}
这里直接使用slf4j提供即可
1.4 验证结果11:29:22.775 [main] DEBUG LogTest -debug msg
11:29:22.778 [main] INFO LogTest -info msg
11:29:22.778 [main] WARN LogTest -warn msg
11:29:22.778 [main] ERROR LogTest -error msg
2.springboot-logback
springboot-starter-web默认使用的log方式就是logback,所以我们直接引入该依赖即可
2.1 引入maven依赖
org.springframework.boot
spring-boot-starter-parent
2.6.6
org.springframework.boot
spring-boot-starter-web
2.2 配置logback.xml
同1.2
2.3 类中使用笔者这里使用了idea的SpringBoot骨架生成的项目,所以为了启动验证log的使用,直接使用如下来完成:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Component
public class Logback_Test implements InitializingBean {
private static Logger logger = LoggerFactory.getLogger(Logback_Test.class);
@Override
public void afterPropertiesSet() throws Exception {
logger.debug("debug msg");
logger.info("info msg");
logger.warn("warn msg");
logger.error("error msg");
}
}
2.4 验证结果
启动ApplicationRunner来验证结果
11:21:41.698 [main] DEBUG Logback_Test -debug msg
11:21:41.698 [main] INFO Logback_Test -info msg
11:21:41.698 [main] WARN Logback_Test -warn msg
11:21:41.698 [main] ERROR Logback_Test -error msg
结果基本同1.4一致。
总结:相对于log4j的使用,logback-classic自带slf4j依赖(logback-classic包自身实现了slf4j-logback转换),所以不需要再主动引入slf4j相关jar包。