gpt4 book ai didi

java - 使用 slf4j 为每个记录的消息添加静态前缀

转载 作者:行者123 更新时间:2023-12-02 04:09:50 29 4
gpt4 key购买 nike

有没有办法在使用 slf4j 时向所有记录的消息添加静态(而不是上下文动态)前缀,而不改变底层日志记录框架的格式?需要明确的是,这意味着使用 MDC 不是一种选择,因为这需要反射(reflect)在底层框架的格式配置中。

除了为 slf4j 记录器创建自定义包装器并在我通常简单初始化 slf4j 记录器的任何地方使用它之外,还有其他选择吗?

public class CustomLogger {

private final String prefix = "custom-prefix";

private final Logger logger;

public CustomLogger(Class clazz) {
logger = LoggerFactory.getLogger(clazz);
}

public void info(String info) {
logger.info (prefix + info);
}

// other methods...

}

如果需要一些上下文:我正在一个核心应用程序上运行多个插件的环境中工作。在这样的插件中,我想将插件的名称作为前缀添加到记录的消息中。

最佳答案

将您的调用包装在另一个方法中,该方法对传入的 String 执行 String.format(...) 。您的格式化程序将拥有您的静态字符串,并将记录字符串放置在该字符串之前、之内或之后的某个位置,然后再将其传递到实际的记录器方法。

关于java - 使用 slf4j 为每个记录的消息添加静态前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28862438/

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