Logback定义了七个日志级别,从低到高分别是:TRACE
、DEBUG
、INFO
、WARN
、ERROR
、FATAL
,下面详解Logback日志级别。
TRACE
最低的日志级别,用于输出非常详细的信息,通常只在调试时使用,记录程序执行的细节和内部状态。默认情况下,该级别的日志不会被输出。
DEBUG
用于输出调试信息,通常记录一些调试时需要的信息,如方法调用、变量值等。默认情况下,该级别的日志不会被输出。
INFO
用于输出程序的正常运行状态信息,如程序启动、初始化等。该级别的日志是默认级别,可以在不修改配置的情况下输出。
WARN
用于输出警告信息,通常表示可能会出现错误或异常的情况,但是程序还可以继续运行。警告信息可能包含一些错误或异常的原因或解决方法。
ERROR
用于输出错误信息,表示程序发生了错误或异常,但是还可以继续运行。通常需要及时处理,以避免出现更严重的后果。
FATAL
最高的日志级别,用于输出严重的错误信息,表示程序已经无法继续运行。通常是非常严重的错误或异常,需要立即处理。
OFF
表示关闭日志输出,不会输出任何日志信息。
Logback日志级别示例
下面是一个Logback的配置文件示例,展示了如何配置不同级别的日志输出。
<configuration> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/myapp.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/myapp-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <maxHistory>30</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> </appender> <!-- 设置根Logger的日志级别为INFO,表示只输出INFO及以上级别的日志信息 --> <root level="INFO"> <appender-ref ref="CONSOLE" /> <appender-ref ref="FILE" /> </root> <logger name="com.example" level="DEBUG"> <appender-ref ref="FILE" /> </logger> <logger name="com.example.controller" level="INFO"> <appender-ref ref="FILE" /> </logger> <logger name="com.example.service" level="WARN"> <appender-ref ref="FILE" /> </logger> <logger name="com.example.dao" level="ERROR"> <appender-ref ref="FILE" /> </logger> </configuration>
以上就是Logback日志级别详解,更多Logback内容请查看:Logback最全详解(看这篇就够了)
陈睿mikechen
十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》