gpt4 book ai didi

java记录器动态更改字段

转载 作者:行者123 更新时间:2023-12-01 15:45:17 25 4
gpt4 key购买 nike

我需要更改日志格式。

现在日志看起来像:

[Thread ID] TIME ClassName
Content

我需要在 header 中添加一个字段,该字段只能在记录时确定:

[Thread ID] TIME ClassName NewField
Content

这里当我们需要记录一些东西时,我们想添加一个动态变化的字段,这是一个系统相关的信息。

我不能轻易地将它移动到Content的开头,因为这样我需要更改所有调用logger.warning或logger.info等的地方。

后续代码有一个共同的地方(入口点),我可以在这里设置这个新字段的值。稍后,当调用 logger.warning("XXX") 时,它可以识别该值。

我能实现这个目标吗?

最佳答案

也许您可以通过子类化/创建您自己的 Logger 实现来做到这一点, LogRecordFormatter 。 Logger 将获得您设置的额外字段,并且也会在记录时添加到 LogRecord 中。格式化程序应该负责将该值包含在 header 中。

如果NewField是从环境中出来的东西,你可以看看是否有办法用 log4j 来做到这一点.

无论如何,你都会进行重构。很可能更容易找到所有 info()warn() 等方法并在此处添加信息。

关于java记录器动态更改字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155519/

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