gpt4 book ai didi

java - 提供日志记录(调试)上下文

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:55:31 26 4
gpt4 key购买 nike

我有一个使用多个不同 Java 类的应用程序,并且希望能够为日志消息提供调试上下文。

这个(特定于应用程序和数据的)上下文(基本上是一个字符串)将由每个类单独以某种方式构造或检索,并将传递给适当的日志记录调用,例如

logger.debug(context + ", whatever error message");

那么,我的问题是,要在整个应用程序中实现此功能,最好使用什么模式?

我正在考虑让所有需要支持上下文相关日志记录的类使用一些适当的方法实现 Java 接口(interface),例如

public interface ContextSensitive
{
public String getContext();
public String setContext();
}

其中 setContext() 方法对于对象(例如)secondObject 从具有上下文的对象(例如)firstObject 实例化但 secondObject没有。所以,firstObject 也会做类似的事情

secondObject = new SecondObject();
secondObject.setContext(context);

以上是否有意义,或者我应该做一些更好的事情?

我一直在考虑的另一种方法是围绕日志库编写一个包装器来提供此功能,但与我上面描述的基于 ContextSensitive 的方法相比,我认为这种方法没有任何值(value) 界面。

如果有任何必须解决相同问题的开源项目示例,我将不胜感激。

非常感谢!

最佳答案

我怀疑您正在寻找类似于 MDC 的内容(映射诊断上下文)这是 log4j、logback 和 slf4j 框架的一个特性。上下文只能在方法调用之前设置一次,然后可以配置日志框架以生成包含上下文字段的日志消息。

关于java - 提供日志记录(调试)上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7496753/

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