一、Logback日志配置
1、引入 logback 依赖
在Maven项目的pom.xml
文件中添加以下依赖:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
2、创建logback.xml配置文件
在资源文件夹(如src/main/resources
)下创建一个名为logback.xml
的文件,并添加以下内容:
<configuration>
<!-- 控制台输出 -->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="utf-8">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 文件输出 -->
<appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<file>logs/application.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/application.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
<maxHistory>10</maxHistory>
<maxFileSize>10MB</maxFileSize>
<totalSizeCap>100MB</totalSizeCap>
</rollingPolicy>
<encoder charset="utf-8">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 设置根日志级别和输出器 -->
<root level="info">
<appender-ref ref="consoleLog" />
<appender-ref ref="fileLog" />
</root>
</configuration>
3、在代码中使用Logback进行日志记录
在Java类中添加如下代码来记录日志:
import org.slf4j.LoggerFactory;
public class LogbackExample {
private static final Logger logger = LoggerFactory.getLogger(LogbackExample.class);
public static void main(String[] args) {
logger.debug("This is a debug message");
logger.info("This is an info message");
logger.warn("This is a warning message");
logger.error("This is an error message");
}
}
二、配置日志级别
日志级别用于控制日志的输出范围,从最低到最高分别为:TRACE、DEBUG、INFO、WARN、ERROR、FATAL。配置日志级别时,可以根据项目的需求进行调整。例如,在开发环境中可以设置较低的日志级别(如DEBUG),以便捕获更多的调试信息,而在生产环境中则可以设置较高的日志级别(如ERROR),以减少日志的输出量。
1、Logback日志级别配置
在logback.xml
文件中设置日志级别:
<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
三、配置日志输出格式
日志输出格式是指日志信息的显示方式,通常包括时间戳、日志级别、类名、行号和日志消息等。通过配置日志输出格式,可以使日志信息更加清晰和易读。
1、Logback日志输出格式配置
在logback.xml
文件中设置日志输出格式:
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern>
</encoder>
四、指定日志文件路径
指定日志文件路径是指设置日志文件的存储位置。通过配置日志文件路径,可以将日志信息保存到指定的文件中,便于后续的分析和排查。
1、Logback日志文件路径配置
在logback.xml
文件中设置日志文件路径:
<file>logs/application.log</file>
五、日志轮转配置
日志轮转是指当日志文件达到一定大小或时间限制时,自动生成新的日志文件,以避免单个日志文件过大。常见的日志轮转策略包括基于文件大小的轮转和基于时间的轮转。
1、Logback日志轮转配置
在logback.xml
文件中配置基于时间的轮转:
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/flink.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
<maxHistory>10</maxHistory>
<maxFileSize>10MB</maxFileSize>
<totalSizeCap>100MB</totalSizeCap>
</rollingPolicy>