这是部署在JBoss上的“战争”。它公开了一个具有多个功能的SOAP Web服务。
我们如何以func1()
级别记录INFO
,而funk2()
具有不同级别DEBUG
?该级别应该影响从函数start到函数结束的线程中的所有内容。
现在,通过JBoss Web控制台“按包”管理日志记录级别。在我的案例中也需要运行时的类似配置。
Java,Spring 4,JBoss EAP 6.4.x,logback 1.1.3
答案 0 :(得分:1)
一般来说,如果你想为不同的方法使用不同的记录器级别,将方法放在不同的类中可能会更少混淆,然后你可以使用记录器的“传统”方法来处理每个类设置在你想要的水平。
但是如果你想在不同级别的一个类日志中有多个函数,则需要为它们使用不同的记录器。虽然标准方法是每个类一个记录器(记录器以类命名),但如果需要不同的设置,则只需要多个记录器(具有不同的名称)。
尝试这样的事情:
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");
}
}
然后,您应该能够独立设置两个记录器的日志记录级别。也就是说,虽然标准约定是记录器的名称恰好是类的名称,但这只是一个(有用的!)约定,但如果您的要求不同,则不需要完全遵循它。