Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 独立管理每个WebService方法的日志记录级别_Java_Logging_Logback - Fatal编程技术网

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

Java 独立管理每个WebService方法的日志记录级别,java,logging,logback,Java,Logging,Logback,下面是部署到JBoss上的“战争”。它公开了一个具有多个功能的soapweb服务 我们如何让func1()以INFO级别记录,而funk2()以不同级别记录,如DEBUG?级别应该影响线程中从函数开始到函数结束的所有内容 日志记录级别现在通过JBoss web控制台“每个包”进行管理。在我的案例中,也需要类似的运行时配置 Java、Spring 4、JBoss EAP 6.4.x、logback 1.1.3一般来说,如果您想对不同的方法使用不同的记录器级别,那么在不同的类中使用不同的方法可能会比

下面是部署到JBoss上的“战争”。它公开了一个具有多个功能的soapweb服务

我们如何让
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");
    }
}
然后,您应该能够为两个记录器分别设置日志记录级别。也就是说,虽然标准约定是让记录器的名称与类的名称完全一致,但这只是一个(有用的!)约定,但如果您的需求不同,则不需要完全遵循它