如果你指的是 Java 的 Logger(如 java.util.logging.Logger、SLF4J、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);
✅ 优点:
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);
❌ 缺点:
import java.util.logging.Logger;
Logger logger = Logger.getLogger(Test.class.getName());
logger.info("name = " + name + ", age = " + age);
⚠️ 原生 Logger 不支持占位符 {}
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),可以告诉我,我可以给你更精准的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。