gpt4 book ai didi

java - 当值为 null 时,Log4j 打印 json 键名

转载 作者:行者123 更新时间:2023-12-01 23:19:25 26 4
gpt4 key购买 nike

我在使用 log4j 打印上下文变量时遇到问题。如果变量为 null 那么它的打印如下:{ "status":"${ctx:status}"}

但我希望它打印成这样:{“状态”:“”

请与我分享您的想法。

最佳答案

对于变量查找返回 null 或缺失的情况,最好提供 非空 默认值。当前实现在无法解析时按原样返回值。添加默认值会在无法解析时返回默认值。

<KeyValuePair key="status" value="$${ctx:status:-missingornullorempty}"/>

添加空默认值将从日志消息中删除该字段,因为 log4j json 对象映射器配置为仅包含非空字段 (https://github.com/apache/logging-log4j2/blob/master/log4j-layout-jackson-json/src/main/java/org/apache/logging/log4j/jackson/json/Log4jJsonObjectMapper.java#L48),目前无法配置对象映射器 (https://issues.apache.org/jira/browse/LOG4J2-2670) .

关于java - 当值为 null 时,Log4j 打印 json 键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68302603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com