首先引入SLF4J与logback依赖,再创建logback.xml配置文件定义日志格式和级别,接着在代码中通过LoggerFactory获取Logger实例并使用,最后可根据环境调整日志级别或添加文件输出。

在Java项目中启用日志系统,关键在于引入合适的日志框架并正确配置相关依赖和配置文件。目前最常用的是SLF4J结合Logback的方案,它灵活、高效且易于集成。
引入日志依赖
如果你使用maven管理项目,在pom.xml中添加以下依赖:
示例代码:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.11</version>
</dependency>
创建日志配置文件
Logback会自动查找src/main/resources目录下的logback.xml文件。创建该文件并定义日志输出格式、级别和目标位置。
立即学习“Java免费学习笔记(深入)”;
一个基础配置示例:
<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>
<root level=”INFO”>
<appender-ref ref=”CONSOLE” />
</root>
</configuration>
这个配置将INFO及以上级别的日志输出到控制台,包含时间、线程名、日志级别、类名和消息。
在代码中使用日志
在java类中通过SLF4J的LoggerFactory获取Logger实例:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class UserService {
private Static final Logger logger = LoggerFactory.getLogger(UserService.class);
public void saveUser(String username) {
logger.info(“开始保存用户: {}”, username);
try {
// 保存逻辑
logger.info(“用户保存成功: {}”, username);
} catch (Exception e) {
logger.Error(“保存用户失败: ” + username, e);
}
}
}
调整日志级别和输出方式
根据环境需要,可以修改logback.xml来改变行为:
- 将root level设为DEBUG用于开发调试
- 添加FileAppender将日志写入文件
- 使用条件化配置区分开发/生产环境
例如添加文件输出:
<appender name=”FILE” class=”ch.qos.logback.core.FileAppender”>
<file>logs/app.log</file>
<append true</append>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} – %msg%n</pattern>
</encoder>
</appender>
然后在root中引用即可:<appender-ref ref=”FILE” />
基本上就这些。只要依赖正确、配置文件存在且格式无误,日志系统就能正常工作。不复杂但容易忽略细节,比如文件路径错误或依赖冲突。建议初期先跑通控制台输出,再逐步扩展功能。


