jboss eap 6.1自定义log4j到server.log

jboss eap 6.1自定义log4j到server.log,log4j,jboss-eap-6,Log4j,Jboss Eap 6,因此,我一直在尝试在JBoss EAP 6.1上的ear应用程序中使用定制的log4j.xml。我发现,如果我使用一个文件追加器和一个直接的静态文件名,它将按照我的预期登录到该文件(在本例中,在我的war中使用log4j2.xml,但如果我将log4j.xml与log4j 1.2一起使用,它会做同样的事情): 输出将实际显示在test.log中。但我真正想要的是将日志记录到标准的server.log中。如果我尝试上述替换,但使用server.log而不是test.log,则实际上不会记录任何内容

因此,我一直在尝试在JBoss EAP 6.1上的ear应用程序中使用定制的log4j.xml。我发现,如果我使用一个文件追加器和一个直接的静态文件名,它将按照我的预期登录到该文件(在本例中,在我的war中使用log4j2.xml,但如果我将log4j.xml与log4j 1.2一起使用,它会做同样的事情):

输出将实际显示在test.log中。但我真正想要的是将日志记录到标准的server.log中。如果我尝试上述替换,但使用server.log而不是test.log,则实际上不会记录任何内容。我尝试过的另一件事是使用console appender,但是我得到了非常长的输出行,它们记录了两次时间戳,并且有两个日志级别指示器:

16:24:08,038 INFO  [stdout] (http-/0.0.0.0:8080-1) 2014-10-30 16:24:08,036 INFO  
     [http-/0.0.0.0:8080-1] com.xxx.TestServlet (TestServlet.java:25) - This is a test
当我真正想要的只是:

2014-10-30 16:24:08,036 INFO  [http-/0.0.0.0:8080-1] com.xxx.TestServlet 
    (TestServlet.java:25) - This is a test
所以我不知道该怎么做。我们可以配置jboss内部日志记录配置,但在我们的组织中,在服务器中更改这些内容涉及到我们的中间件团队,如果需要调整某些类的日志级别,我们宁愿更改一个定制的log4j.xml。如果需要的话,我们可以使用更长的输出,但是我们也使用Splunk,我相信它会在stdout输出的日志级别上混淆,而不是在尝试按日志级别过滤日志时我们实际记录的内容


我很感激大家给我的建议

我不建议让appender也写服务器正在写的文件。你可能会有意想不到的行为。我也不建议使用
consoleApender
作为
System.out
System.err
被包装,正如您所看到的,您的所有消息都在
INFO
级别指定

最好的选择是不包括日志记录配置,而是使用服务器日志记录配置。你拥有的主要优势是,你不需要重新部署你的应用程序,甚至不需要为大多数更改重新启动服务器。它们可以在运行时发生。正如你所说,对你来说,这可能是一种痛苦

如果需要继续包含log4j配置文件,那么最好的选择是写入其他文件,而不是写入控制台

16:16:28,626 INFO  [stdout] (ServerService Thread Pool -- 71) 2014-10-30 16:16:28,626 
DEBUG Starting FileManager C:\Users\xxxxxx\Apps\jbossdevstudio\runtimes\jboss-
eap\standalone\log/test.log
16:24:08,038 INFO  [stdout] (http-/0.0.0.0:8080-1) 2014-10-30 16:24:08,036 INFO  
     [http-/0.0.0.0:8080-1] com.xxx.TestServlet (TestServlet.java:25) - This is a test
2014-10-30 16:24:08,036 INFO  [http-/0.0.0.0:8080-1] com.xxx.TestServlet 
    (TestServlet.java:25) - This is a test