在 Java 里,“Logger”通常指 java.util.logging.Logger(JDK 自带),当然也有 Log4j / Logback 等常用日志框架。下面我先讲 最常用、最基础 的 java.util.logging.Logger 用法,再简单对比其他日志框架,方便你选择。
import java.util.logging.Logger;
public class Test {
private static final Logger logger = Logger.getLogger(Test.class.getName());
public static void main(String[] args) {
logger.info("这是 info 日志");
logger.warning("这是 warning 日志");
logger.severe("这是 severe 日志");
}
}
输出示例:
信息: 这是 info 日志
警告: 这是 warning 日志
严重: 这是 severe 日志
| 级别 | 说明 |
|---|---|
| SEVERE | 严重错误 |
| WARNING | 警告 |
| INFO | 一般信息(默认级别) |
| CONFIG | 配置信息 |
| FINE | 调试信息 |
| FINER | 更详细 |
| FINEST | 最详细 |
示例:
logger.setLevel(Level.FINE);
logger.fine("调试信息");
注意:
默认情况下 FINE 及以下不会显示,因为 Root Logger 的 Handler 默认是 INFO。
import java.util.logging.*;
Logger logger = Logger.getLogger("MyLogger");
logger.setLevel(Level.ALL);
ConsoleHandler handler = new ConsoleHandler();
handler.setLevel(Level.ALL);
logger.addHandler(handler);
logger.fine("调试信息");
FileHandler fh = new FileHandler("app.log", true);
fh.setFormatter(new SimpleFormatter());
logger.addHandler(fh);
true 表示追加Formatter<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.4.14</version>
</dependency>
(SLF4J 会自动引入)
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Test {
private static final Logger logger = LoggerFactory.getLogger(Test.class);
public static void main(String[] args) {
logger.info("hello {}", "world");
logger.error("出错了");
}
}
✅ 优点:
{} 性能好| 场景 | 推荐 |
|---|---|
| 学习 / 小 Demo | java.util.logging |
| 正式项目 | SLF4J + Logback |
| 老项目 | Log4j / Log4j2 |
学习用:
java.util.logging.Logger
项目用:LoggerFactory.getLogger()
如果你愿意,我可以:
你现在用的是 普通 Java 项目还是 Spring Boot?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。