Logback详定义
Logback是一个灵活且高效的Java日志框架,是log4j框架的升级版,同时也是Spring Boot默认使用的日志框架。
Logback组件
1. logback-core
logback-core提供了通用的日志功能,如异步日志记录、过滤器、Layouts等等。
它也提供了许多有用的类,如Logger、LoggerContext和StatusManager。
2. logback-classic
logback-classic是logback-core的扩展版本,它添加了与SLF4J的兼容性,这使得我们可以像使用SLF4J一样使用logback。
3. logback-access
logback-access是一个专用于Web应用程序的组件,它使用了logback-core的功能来记录HTTP请求和响应的信息。
Logback配置
Logback的配置元素,如下图所示:
配置包含如下节点:
- <configuration>:Logback配置文件的根元素,包含所有的配置信息。
- <appender>:定义一个Appender,即日志输出的目的地,如控制台或文件。
- <encoder>:定义日志输出格式,它包含在Appender元素中。
- <logger>:定义一个Logger,它有一个name属性,表示Logger的名称,也可以使用通配符匹配多个Logger。
- <root>:定义根Logger,通常用于设置默认的日志级别和输出目的地。
- <level>:定义日志级别,可以包含在Logger或Appender元素中。
- <filter>:定义一个过滤器,可以用来过滤日志信息。
- <rollingPolicy>和<triggeringPolicy>:定义Appender的滚动策略和触发策略。
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 --> <root level="INFO"> <appender-ref ref="CONSOLE" /> <appender-ref ref="FILE" /> </root> <!-- 定义其他Logger,按照包名进行分类 --> <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">
Logback日志级别
Logback定义了七个不同的日志级别,从低到高分别为 TRACE、DEBUG、INFO、WARN、ERROR、FATAL、OFF。
- TRACE:最低级别的日志,通常用于追踪代码执行路径。记录日志的信息最详细,包括进入和退出方法、捕捉到的异常以及其他详细信息。一般情况下,不会在生产环境中使用TRACE级别的日志。
- DEBUG:调试级别的日志,用于记录调试信息。通常记录程序的流程控制、变量值等等。
- INFO:普通级别的日志,用于记录应用程序的正常运行状态,例如启动信息、配置信息、业务处理等等。
- WARN:警告级别的日志,用于记录一些可能的问题,但是不影响应用程序的正常运行。例如文件不存在、资源加载失败等等。
- ERROR:错误级别的日志,用于记录应用程序的异常或错误,这种错误一般需要开发人员进行处理。
- FATAL:严重错误级别的日志,通常用于记录致命的错误,可能导致应用程序崩溃或无法继续运行的错误。
- OFF:最高级别的日志,用于关闭所有日志输出。
以上就是Logback详解,希望对你掌握Logback有所帮助!
mikechen
mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多一线技术干货!
