gpt4 book ai didi

java - 独立管理每个 WebService 方法的日志记录级别

转载 作者:行者123 更新时间:2023-11-30 07:23:33 24 4
gpt4 key购买 nike

这是部署到 JBoss 上的“ war ”。它公开了具有多种功能的 SOAP Web 服务。

我们怎样才能有func1()记录为 INFO水平,而 funk2()具有不同级别,如 DEBUG ?该级别应该影响线程中从函数开始到函数结束的所有内容。

日志记录级别现在通过 JBoss Web 控制台“按包”进行管理。在我的例子中,运行时也需要类似的配置。

Java、Spring 4、JBoss EAP 6.4.x、logback 1.1.3

最佳答案

一般来说,如果您想对不同的方法使用不同的记录器级别,那么将方法放在不同的类中可能不会那么困惑,然后您可以对每个类使用记录器的“传统”方法设置为您想要的级别。

但是如果你想在一个类中拥有多个不同级别的日志功能,你需要为它们使用不同的记录器。虽然标准方法是每个类一个记录器(记录器以类命名),但如果您需要不同的设置,则只需要多个记录器(具有不同的名称)。

尝试这样的事情:

public class MyClass {
private static final Logger func1logger = LoggerFactory.getLogger("test.example.MyClass.func1");
private static final Logger func2logger = LoggerFactory.getLogger("test.example.MyClass.func2");

public void func1() {
func1logger.debug("func1 log");
}

public void func2() {
func2logger.debug("func2 log");
}
}

然后您应该能够独立设置两个记录器的日志记录级别。也就是说,虽然标准约定是记录器的名称完全是类的名称,但这只是一个(有用!)约定,但如果您的要求不同,则不需要完全遵循它。

关于java - 独立管理每个 WebService 方法的日志记录级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37140188/

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