java - 使用 slf4j Logger 记录所有 HashMap 键和值

标签 java logging slf4j

如何使用 slf4j 记录器记录 HashMap 键和值。我已经尝试过几次但仍然弄清楚了。

以下代码仅记录“测试值”字符串,不记录 map 参数的值。

  public void test(HashMap maps) {
      logger.info("test values", maps);
  }

最佳答案

您的代码正在使用此重载(请参阅 javadoc )

void info(String message, Object p0)

Logs a message with parameters at info level.

该重载会将 p0 的字符串表示形式替换为 message 模板字符串,用该表示形式替换第一个替换标记。但您的消息中没有任何替换标记!

这是一个快速修复:

  public void test(HashMap maps) {
      logger.info("test values {}", maps);
  }

相关问题:

关于java - 使用 slf4j Logger 记录所有 HashMap 键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44339281/

相关文章:

java - InjectedMock 中的 NullPointerException

java - 不知道为什么这个简短的处理任务不起作用

logging - Stackdriver Logging、Logback 和 Logger 名称

Java - Logback显示测试用例名称

java - 在 Spring 初始化期间终止严重错误的应用程序?

java - 如何将使用继承的程序转换为仅使用组合的程序?

java - Jersey 使用什么样的日志记录以及如何使用 Logback 拦截它?

java - 如何在单个项目中使用多个配置和 logback?

java - 为什么 Bytebuddy 不能检测 org.slf4j 类?

java - Logback DBAppender DDL?