logback的通用配置详情文件

本文详细解析了Logback的日志配置文件结构,包括控制台输出器的设置、日志信息的排序方式以及不同级别的日志输出定义,如error、warn、info、debug和trace等。
?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>//输出信息的排序
        </encoder>
    </appender>
    <!--日志输出级别(优先级高到低):
        error:错误 - 系统的故障日志
        warn: 警告 - 存在风险或使用不当的日志
        info:一般性消息
        debug:程序内部用于调试信息
        trace:程序运行的跟踪信息
    -->
    <root level="debug">
        <appender-ref ref="console"/>
    </root>
</configuration>
以下是一个通用的 `logback.xml` 配置文件示例模板,适用于大多数 Java 应用程序,尤其是 Spring Boot 项目。该模板包括控制台输出、文件输出、日志级别设置以及常用的格式化选项。 ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!-- 定义日志文件的存储路径 --> <property name="LOG_HOME" value="./logs" /> <!-- 控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%logger:日志来源,%msg:日志消息,%n:换行 --> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 按照每天生成日志文件 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME}/app.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 日志文件输出的文件名格式 --> <fileNamePattern>${LOG_HOME}/app.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志保留天数 --> <maxHistory>30</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <!-- 追加日志内容 --> <append>true</append> </appender> <!-- 异常日志单独输出 --> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME}/error.log</file> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_HOME}/error.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 子 logger 示例 --> <logger name="com.example.demo" level="DEBUG" additivity="false"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> </logger> <!-- 根 logger --> <root level="INFO"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> <appender-ref ref="ERROR_FILE" /> </root> </configuration> ``` ### 说明: - **控制台输出**:使用 `ConsoleAppender` 输出日志到控制台,方便调试。 - **文件输出**:使用 `RollingFileAppender` 实现按天滚动的日志文件,并保留最近30天的历史记录。 - **错误日志分离**:通过 `LevelFilter` 将 `ERROR` 级别的日志单独输出到 `error.log` 文件中。 - **子 Logger**:对特定包(如 `com.example.demo`)配置独立的日志级别和输出方式。 - **Root Logger**:作为全局默认的日志输出配置,通常用于处理未被子 Logger 捕获的日志信息。 该模板可以根据项目需求灵活调整,例如增加数据库日志输出、异步日志处理等高级功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值