logback日志级别
大约 2 分钟
logback
日志级别
1、日志级别
日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出
Logback级别(由低到高):
TRACE:跟踪级别,是最详细的日志级别,记录应用程序中最详细的信息。
DEBUG:调试级别,记录应用程序的调试信息,通常用于开发和测试阶段。
INFO:信息级别,记录应用程序的重要信息,如启动、停止、连接、断开等。
WARN:警告级别,记录应用程序的警告信息,如资源不足、性能问题等。
ERROR:错误级别,记录应用程序的错误信息,如异常、故障等。
FATAL:致命级别,记录应用程序的致命错误信息,如应用程序崩溃等。
Logback默认的日志级别是INFO,可以通过在logback.xml配置文件中设置root logger的级别来更改默认日志级别。
2、修改第三方包日志级别
2.1、背景
当我们引入第三方依赖时,第三方依赖会打印自己的日志,有的日志对我们来说是无用日志,不需要打印出来,这时我们就需要修改屏蔽或修改第三方日志的打印级别。
2.2、日志不打印评估报告
logging:
level:
org:
springframework:
boot:
autoconfigure: error # 日志不打印评估报告
<!--子节点可以控制我们的代码、框架中日志输出级别等-->
<logger name="org.springframework.boot.autoconfigure" level='error'>
<appender-ref ref="CONSOLE"/>
</logger>
logback
修改第三方包日志打印方式
2.3、有以下两种方式
- 屏蔽第三方日志打印。
- 修改第三方日志打印级别。
屏蔽第三方日志, 修改logback.xml
<logger name="${package}" level="OFF"/>
- OFF表示关闭全部日志。
- package为第三方包名
<logger name="com.jin.third" level="OFF"/>
3、自定义修改本地项目日志级别
自定义测试类
@SpringBootTest
public class LogBackTest {
private static final Logger logger = LoggerFactory.getLogger(LogBackTest.class);
@Test
void logLevel() {
logger.trace(" --- trace --- ");
logger.debug(" --- debug --- ");
logger.info(" --- info --- ");
logger.warn(" --- warn --- ");
logger.error(" --- error --- ");
}
}
配置如下:
<logger name="com.jin.log.LogBackTest" level='info'>
<appender-ref ref="CONSOLE"/>
</logger>
测试打印
2023-04-05 22:43:49.619 INFO 14092 --- [ main] com.jin.log.LogBackTest : --- info ---
2023-04-05 22:43:49.619 INFO 14092 --- [ main] com.jin.log.LogBackTest : --- info ---
2023-04-05 22:43:49.619 WARN 14092 --- [ main] com.jin.log.LogBackTest : --- warn ---
2023-04-05 22:43:49.619 WARN 14092 --- [ main] com.jin.log.LogBackTest : --- warn ---
2023-04-05 22:43:49.619 ERROR 14092 --- [ main] com.jin.log.LogBackTest : --- error ---
2023-04-05 22:43:49.619 ERROR 14092 --- [ main] com.jin.log.LogBackTest : --- error ---
由上得知,重复打印
需要添加属性additivity="false"
<logger name="com.jin.log.LogBackTest" level='info' additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
打印结果:
2023-04-05 22:43:49.619 INFO 14092 --- [ main] com.jin.log.LogBackTest : --- info ---
2023-04-05 22:43:49.619 INFO 14092 --- [ main] com.jin.log.LogBackTest : --- info ---
2023-04-05 22:43:49.619 WARN 14092 --- [ main] com.jin.log.LogBackTest : --- warn ---
4、自定义日志级别
logger.setLevel(Level.forName("CUSTOM_LEVEL"))