文章目录
1. 什么是logback
Logback是一个用于Java应用程序的日志框架,它由log4j框架的创始人Ceki Gülcü开发。logback是log4j框架的继承者和改进版,并提供了更好的性能、可扩展性和灵活性。与Log4j相比,Logback提供了更快的速度和更低的内存占用,这使得它成为大型企业级应用程序的理想选择。
Logback包括三个模块:logback-core、logback-classic和logback-access。
- logback-core提供了通用的日志记录功能;
- logback-classic提供了与SLF4J API和log4j API兼容的日志记录功能;
- logback-access提供了HTTP访问日志的功能。
同时,Logback还支持异步日志记录、多线程环境下的高性能、动态配置等特性,使得它成为Java应用程序中广泛使用的日志框架之一。
2. logback的日志级别
Logger有五个日志级别,分别是TRACE
、DEBUG
、INFO
、WARN
、ERROR
,
这五个级别优先级为,TRACE<DEBUG<INFO<WARN<ERROR
在打印日志的时候,只会打印当前日志级别高于或者等于当前日志级别的日志信息。例如当前日志级别为INFO,那么只会记录日志级别为INFO、WARN、ERROR的日志信息。
查看springboot项目的日志级别,使用下面代码进行测试。
@Service
public class LogTest {
private static final Logger logger = LoggerFactory.getLogger(LogTest.class);
public void test() {
logger.trace("===trace===");
logger.debug("===debug===");
logger.info("===info===");
logger.warn("===warn===");
logger.error("===error===");
}
}
测试代码
@SpringBootTest
class LogbackApplicationTests {
@Resource
private LogTest logTest;
@Test
void testqwe() {
logTest.test();
}
}
测试结果
所以SpringBoot项目中logback默认日志级别是INFO
3. 日志级别的层级
一般日志的最高层级就是root。例如现在创建一个logger是com.example.logback
下的logger,结构如下。
这里的日志级别如果没有指定,也会继承父类。
4. logback配置文件
logback配置文件一般在springboot项目的src/main/resources
目录下创建名为logback-spring.xml
的文件
配置文件基本结构如下图:
4.1 logger标签
logger就是日志记录器,用来控制要输出哪些日志记录语句,对日志信息进行级别限制。
有level属性、name属性、additivity属性,其中name