log4j - 使用 MDC 打印键和值
问题描述
使用 MDC 我想打印键和值。
和
MDC.put("key", value);
和 log4j 模式:
<pattern>%date{yyyy/MM/dd HH:mm:ss.SSS} %5level - %mdc{KEY} </pattern>
我有这个结果:
2019/04/11 16:25:52.983 WARN - **value**
但我期待
2019/04/11 16:25:52.983 WARN - **key=value**
我的第一个想法是在值中附加键,但它不是很干净
MDC.put("key", "key " + value);
有没有人有办法解决吗?
谢谢
编辑:
在模式中静态添加密钥不是一个好的解决方案
<pattern>%date{yyyy/MM/dd HH:mm:ss.SSS} %5level - key=%mdc{KEY} </pattern>
有时该值不存在,它会打印 'key='
解决方案
推荐阅读
- java - 如何持久化在 docker 内的 tomcat 上运行的 Spring Boot 应用程序的会话
- r - 如何解决 f(x, ...) 中的错误:未使用的参数 (x)
- c - 我们可以在 printf() 中使用“+”运算符吗?
- prestashop - Preastashop hookHeader 显示在正文而不是
- javascript - 如何使用模态视图PHP获取mysql数据
- .net - 以低内存使用处理数千个请求和文件流
- javascript - Javascript Array - 检查 2 个数组中的匹配项
- java - 为什么 EXPAND_FACTOR 在 ImmutableCollections.java 中为 2
- data-warehouse - 如何从此数据库创建雪花模式?
- javascript - element.addEventListener("touchstart", function(e) {}) 在 iphone 上不起作用