温馨提示×

温馨提示×

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

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

Logger 怎么打印变量

发布时间:2026-07-17 13:09:40 来源:亿速云 阅读:113 作者:小樊 栏目:编程语言

如果你指的是 Java 的 Logger(如 java.util.logging.Logger、SLF4J、Log4j2 等),常见打印变量的方式如下:


一、使用占位符(✅ 推荐,最常用)

1️⃣ SLF4J / Logback / Log4j2

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Logger logger = LoggerFactory.getLogger(Test.class);

int age = 18;
String name = "Tom";

logger.info("name = {}, age = {}", name, age);

✅ 优点:

  • 性能好(不会提前拼接字符串)
  • 可读性强
  • 最推荐

2️⃣ Log4j2(同样支持占位符)

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

Logger logger = LogManager.getLogger(Test.class);
logger.info("name = {}, age = {}", name, age);

二、字符串拼接(不推荐)

logger.info("name = " + name + ", age = " + age);

❌ 缺点:

  • 如果日志级别不够,字符串仍然会拼接
  • 性能差
  • 可读性一般

三、java.util.logging(原生 Logger)

import java.util.logging.Logger;

Logger logger = Logger.getLogger(Test.class.getName());
logger.info("name = " + name + ", age = " + age);

⚠️ 原生 Logger 不支持占位符 {}


四、打印对象 / JSON(调试常用)

User user = new User("Tom", 18);
logger.info("user = {}", user);

或使用 JSON:

logger.info("user = {}", objectMapper.writeValueAsString(user));

五、打印异常 + 变量

try {
    int i = 1 / 0;
} catch (Exception e) {
    logger.error("error occurred, name = {}, age = {}", name, age, e);
}

六、总结对照表

方式 是否推荐 说明
{} 占位符 ✅✅✅ 最推荐
字符串拼接 ❌ 性能差
原生 Logger ⚠️ 不支持占位符
打印对象 ✅ 方便调试
打印异常 ✅ 必须加异常参数

如果你用的是 某一具体 Logger(如 Log4j2、Logback、Lombok @Slf4j),可以告诉我,我可以给你更精准的示例。

向AI问一下细节

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

AI
助
手