温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Logger 为何不输出日志

发布时间:2026-09-12 09:31:01 来源:亿速云 阅读:90 作者:小樊 栏目:编程语言

Java 中 java.util.logging.Logger(JUL)“不输出日志”是一个非常常见的问题,通常不是代码没执行,而是配置/级别/Handler没弄对。下面按最常见原因逐一说明。


一、最常见原因:日志级别被限制

1️⃣ Logger 级别高于你写的日志

Logger logger = Logger.getLogger("test");
logger.info("hello");

如果全局或该 logger 的级别是 WARNING

.level= WARNING

那么 infoconfigfine 都不会输出

✅ 解决:

logger.setLevel(Level.INFO);

二、没有 Handler(最常见坑)

Logger 本身不负责输出,真正输出的是 Handler

如果 logger 没有 Handler,也没有父 Logger 的 Handler:

Logger logger = Logger.getLogger("com.xxx");
// 没有 Handler → 什么都不输出

✅ 解决:

Logger logger = Logger.getLogger("com.xxx");
logger.setUseParentHandlers(true); // 默认是 true
logger.addHandler(new ConsoleHandler());

三、Handler 自己的级别也限制了输出

即使 Logger 是 INFO:

ConsoleHandler handler = new ConsoleHandler();
handler.setLevel(Level.WARNING);

INFO 日志仍然不会输出。

✅ 解决:

handler.setLevel(Level.INFO);

四、root logger 被改坏(很多人踩)

JUL 默认日志来自 root logger

如果你写了:

Logger.getLogger("").setLevel(Level.OFF);

那所有日志都没了。

✅ 检查:

Logger.getLogger("").getLevel();

五、配置文件没生效(logging.properties)

JUL 默认读取:

$JAVA_HOME/jre/lib/logging.properties

或你指定:

-Djava.util.logging.config.file=logging.properties

常见问题:

  • 文件没读到
  • 级别写错
  • logger 名不匹配

示例:

handlers= java.util.logging.ConsoleHandler
.level= INFO
java.util.logging.ConsoleHandler.level = INFO
com.example.level = DEBUG

六、你用的是“别人封装的 Logger”

例如:

  • Spring
  • Log4j
  • SLF4J
  • 框架内部 logger

你可能以为用的是 JUL,其实不是。

✅ 确认:

System.out.println(logger.getClass());

七、日志被“吞了”(异常静默)

try {
    logger.info("start");
} catch (Exception e) {
    // 啥都没做
}

八、快速自检清单 ✅

Logger logger = Logger.getLogger("test");
logger.setLevel(Level.INFO);
logger.addHandler(new ConsoleHandler());
logger.setUseParentHandlers(false);
logger.info("能看到了吗?");

如果这一句能输出,说明前面是配置问题。


九、如果你愿意,我可以更精准帮你

你可以贴:

  1. 使用的 Logger 类型(JUL / Log4j / SLF4J)
  2. 创建 Logger 的代码
  3. 是否用了配置文件
  4. 运行环境(Spring?普通 Java?容器?)

我可以直接告诉你是哪一行导致没输出

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI