SLF4J日志未包含在特定的错误/跟踪文件中。它来自server.log

时间:2015-05-08 09:31:02

标签: java log4j slf4j executorservice

我用Java编程。我用过执行器服务。日志在主线程的指定trace.log文件中打印。但是对于执行程序服务创建的线程,日志将打印在Jboss server.log中。如何在trace.log中而不是在server.log中获取这些日志?

我发现并发性不应该影响slf4j的功能。 Is SLF4J good to be used in a multithreaded application for logging to a database?

有人可以告诉我在这里缺少什么吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

你必须从JBoss中排除SLF4J。您可以使用jboss-deployment-structure.xml

来完成

我的jboss-deployment-structure位于资源/ META-INF文件夹下的EAR模块中,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
    <exclusions>
        <module name="org.slf4j" slot="main" />
        <module name="org.slf4j.impl" slot="main" />
    </exclusions>
</deployment>

<sub-deployment name="some-war.war">
    <exclusions>
        <module name="org.slf4j" />
        <module name="org.slf4j.impl" />
    </exclusions>
</sub-deployment>

some-war.war模块中,我可以使用logback,它可以正确记录到已定义的文件中。