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 为每个执行的类记录Log4j_Java_Logging_Log4j - Fatal编程技术网

Java 为每个执行的类记录Log4j

Java 为每个执行的类记录Log4j,java,logging,log4j,Java,Logging,Log4j,我正在使用Java,我有一个xml文件,可以执行一些类 这是xml的示例样式 <test name="Test1"> <classes> <class name="com.foo.bar.test1"></class> </classes> </test> <test name="Test2"> <classes> <class

我正在使用Java,我有一个xml文件,可以执行一些类

这是xml的示例样式

    <test name="Test1">
    <classes>
        <class name="com.foo.bar.test1"></class>
    </classes>
</test> 

<test name="Test2">
    <classes>
        <class name="com.foo.bar.test2"></class>
    </classes>
</test> 

<test name="Test3">
    <classes>
        <class name="com.foo.bar.test3"></class>
    </classes>
</test> 

我已经能够使用Log4j进行日志记录,但是我只在Log4j.properties上设置了它,所以所有日志都被附加在一起

我想为每个执行的类创建日志文件

你知道怎么做吗


谢谢

因为Log4J在类加载器的生命周期内只初始化一次,所以实现这一效果的唯一方法是在运行这些测试的整个程序中动态更改Log4J配置(我指的是您为解析XML文件和处理每个类而编写的程序)

有关动态配置Log4J的信息,请参阅Log4J的Javadocs

另外,请记住,由于Log4J的作用域在类加载器中,因此您将无法同时运行那些“测试”类,除非您开始动态创建和初始化类加载器