温馨提示×

温馨提示×

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

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

Java Logger 怎么用

发布时间:2026-07-17 11:35:44 来源:亿速云 阅读:106 作者:小樊 栏目:编程语言

在 Java 里,“Logger”通常指 java.util.logging.Logger(JDK 自带),当然也有 Log4j / Logback 等常用日志框架。下面我先讲 最常用、最基础java.util.logging.Logger 用法,再简单对比其他日志框架,方便你选择。


一、java.util.logging.Logger(JDK 自带)

1️⃣ 最基本用法

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 日志

2️⃣ 日志级别(常用)

级别 说明
SEVERE 严重错误
WARNING 警告
INFO 一般信息(默认级别)
CONFIG 配置信息
FINE 调试信息
FINER 更详细
FINEST 最详细

示例:

logger.setLevel(Level.FINE);
logger.fine("调试信息");

注意:
默认情况下 FINE 及以下不会显示,因为 Root Logger 的 Handler 默认是 INFO。


3️⃣ 常见配置(简单版)

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("调试信息");

4️⃣ 输出到文件(FileHandler)

FileHandler fh = new FileHandler("app.log", true);
fh.setFormatter(new SimpleFormatter());
logger.addHandler(fh);
  • true 表示追加
  • 默认格式比较丑,可自定义 Formatter

二、推荐使用:SLF4J + Logback(实际项目中更常见)

✅ 为什么不用 java.util.logging?

  • 配置复杂
  • 格式化不友好
  • 企业级项目中用得少

1️⃣ 依赖(Maven)

<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.4.14</version>
</dependency>

(SLF4J 会自动引入)


2️⃣ 使用示例(最推荐)

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 Logger 配置示例
  • ✅ 教你 Spring Boot 的日志配置
  • ✅ 对比 Log4j2 vs Logback

你现在用的是 普通 Java 项目还是 Spring Boot?

向AI问一下细节

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

AI