gpt4 book ai didi

java - 使用 slf4j(和 log4j)传递日志事件特定数据

转载 作者:搜寻专家 更新时间:2023-11-01 02:09:06 26 4
gpt4 key购买 nike

有没有办法通过 slf4j 传递仅适用于当前日志事件的更多信息?可以通过 MDC 存储和访问基于请求的信息,例如用户、IP 地址或应用程序名称。稍后我可以在布局或转换器中访问该信息,而不必解析日志消息。如果我使用基于 JSON 的格式,我有另一个带有 "appName":myApp 的字段,如果我使用 log4j 以纯文本形式登录,我可以通过 %{appName} 访问它符号。有没有一种方法可以使用仅适用于一个日志事件的信息来实现这一目标?例如,我想传递一个异常 ID(即使是我不拥有的异常)。最好但仍然丑陋的解决方案是将 id 传递给 MDC,记录异常并随后将其删除。 有人知道更好的解决方案吗?

最佳答案

如果您不需要使用 slf4j 并且 log4j 已经足够好了 - 您可以将自定义消息与 log4j 一起使用:https://logging.apache.org/log4j/2.x/manual/messages.html

如果你想要 slf4j - 你可以实现你自己的 Logger 适配器,它会适本地处理任何额外的参数(就像 http://www.slf4j.org/xref/org/slf4j/impl/JDK14LoggerAdapter.html )

关于java - 使用 slf4j(和 log4j)传递日志事件特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22300363/

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