什么是 logback.xml?
logback.xml 是 Logback 日志框架的主配置文件,用于定义日志输出格式、级别、目标(控制台、文件等)以及滚动策略。
它通常放置在项目的 src/main/resources 目录下,在应用启动时自动加载。
基础配置示例
以下是一个典型的 logback.xml 配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 控制台输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<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>logs/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/app.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxFileSize>10MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
关键配置说明
- appender:定义日志输出目的地,如控制台(ConsoleAppender)或文件(FileAppender/RollingFileAppender)。
- encoder/pattern:指定日志格式,常用变量包括时间
%d、线程%thread、日志级别%-5level、类名%logger和消息%msg。 - RollingFileAppender + TimeBasedRollingPolicy:实现按天或按大小滚动日志文件,避免单个日志过大。
- root:根日志记录器,设置全局日志级别(如 INFO、DEBUG、WARN、ERROR)并引用 appenders。
使用建议
- 开发环境可启用 DEBUG 级别并输出到控制台;
- 生产环境建议使用 INFO 或 WARN,并启用日志滚动以节省磁盘空间;
- 避免在日志中记录敏感信息(如密码、身份证号)。