在 Java 中,**Logger(日志记录器)**常见的集成方式主要有三种:JDK 自带的 java.util.logging(JUL)、Log4j / Log4j2、SLF4J + 具体实现(推荐)。下面按使用场景给你一个清晰的集成指南。
import java.util.logging.Logger;
public class Demo {
private static final Logger logger =
Logger.getLogger(Demo.class.getName());
public static void main(String[] args) {
logger.info("这是 info 日志");
logger.warning("这是 warning 日志");
}
}
logging.properties
handlers=java.util.logging.ConsoleHandler
.level=INFO
java.util.logging.ConsoleHandler.level=INFO
运行:
java -Djava.util.logging.config.file=logging.properties Demo
✅ 适合:小项目、快速验证
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.23.1</version>
</dependency>
log4j2.xml<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5level %logger - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Demo {
private static final Logger logger = LogManager.getLogger(Demo.class);
public static void main(String[] args) {
logger.info("log4j2 info");
}
}
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.13</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.6</version>
</dependency>
logback.xml<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Demo {
private static final Logger logger = LoggerFactory.getLogger(Demo.class);
public static void main(String[] args) {
logger.info("slf4j + logback");
}
}
✅ 不需要手动集成
private static final Logger logger =
LoggerFactory.getLogger(YourClass.class);
默认使用:
application.yml 可配置日志级别logging:
level:
com.example: debug
file:
name: app.log
| 场景 | 推荐 |
|---|---|
| 学习 / 小工具 | JUL |
| 传统企业项目 | Log4j2 |
| Spring / 新项目 | SLF4J + Logback |
| 微服务 | SLF4J + Logback / Log4j2 |
如果你告诉我:
我可以直接给你一份可复制的完整配置。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。