推荐使用SLF4J结合Logback搭建Java日志环境,首先在pom.xml中添加slf4j-api、logback-classic和logback-core依赖,然后在src/main/resources下创建logback.xml配置文件,定义控制台输出格式,接着在代码中通过LoggerFactory获取Logger实例记录日志,最后可选配置文件输出,实现日志同时输出到控制台和logs/app.log文件,该方案配置灵活、性能优秀,适合大多数Java项目。

要在Java项目中快速搭建日志开发环境,推荐使用 SLF4J 结合 Logback 的方案,这是目前最主流、性能优秀且配置灵活的日志组合。以下是具体配置步骤。
1. 添加Maven依赖
如果你使用Maven构建项目,在pom.xml中添加以下依赖:
- slf4j-api:日志门面,定义统一接口
- logback-classic:SLF4J的原生实现,包含核心功能
- logback-core:底层支持库(通常自动引入)
添加如下代码到 pom.xml:
<dependencies><dependencyyoujiankuohaophpcn
<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>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.11</version>
</dependency>
</dependencies>
2. 创建日志配置文件 logback.xml
在项目的 src/main/resources 目录下创建名为 logback.xml 的配置文件,内容示例如下:
立即学习“Java免费学习笔记(深入)”;
<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>
<root level="INFO">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
该配置将日志输出到控制台,格式包括时间、线程名、日志级别、类名和消息。
3. 在Java代码中使用日志
在任意类中通过 SLF4J 获取 Logger 实例并记录日志:
import org.slf4j.Logger;import org.slf4j.LoggerFactory;
public class MyApp {
private static final Logger logger = LoggerFactory.getLogger(MyApp.class);
public static void main(String[] args) {
logger.info("应用启动中...");
logger.debug("这是一个调试信息");
logger.warn("警告:资源即将耗尽");
}
}
运行程序后,你会在控制台看到类似如下输出:
2025-04-05 10:20:30 [main] INFO MyApp - 应用启动中...2025-04-05 10:20:30 [main] WARN MyApp - 警告:资源即将耗尽
4. 可选:输出日志到文件
修改 logback.xml 增加文件输出功能:
<appender name="FILE" class="ch.qos.logback.core.FileAppender"><file>logs/app.log</file>
<append>true</append>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
然后在 <root> 中引用它:
<root level="INFO"><appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
日志将同时输出到控制台和 logs/app.log 文件中。
基本上就这些。这套环境搭建简单,扩展性强,适合大多数Java项目。后续可根据需要添加日志滚动策略、异步日志等高级功能。










