Mal*_*lax 5 logging jboss log4j jboss7.x
我在JBoss AS7和日志记录方面有点挣扎.尽管我的问题很普遍,但我在网上找不到任何相关内容.
默认日志看起来像这样:
11:57:29,950 INFO [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO org.apache.http.impl.client.DefaultHttpClient - I/O exception (java.net.SocketException) caught when processing request: Connection reset
11:57:29,950 INFO [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO org.apache.http.impl.client.DefaultHttpClient - Retrying request
Run Code Online (Sandbox Code Playgroud)
注意[stdout],那些由某些库写入并由JBoss拾取并写入日志文件的日志库写入stout的行.这就是我想要解决的问题.
我想必须有一种方法可以让一个适配器告诉log4j(或任何其他日志框架)登录到jboss日志记录子系统?
我的第一个想法是从我的项目的类路径中删除所有log4j配置.我发现在我使用的库中有一个登录到stdout.但这并没有解决任何问题.
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN Please initialize the log4j system properly.
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Run Code Online (Sandbox Code Playgroud)
没有配置appender时的常见错误消息.至少我可以确定类路径中没有配置了.
JBoss AS文档甚至没有提到这种情况,当我无法获得正确的日志记录时,我应该如何使用第三方库?
我真的希望有人可以帮助我,任何提示都表示赞赏!
马拉克斯
Jam*_*ins 14
虽然它不在问题中,但我认为您正在尝试将log4j与JBoss AS7一起使用.如果确实如此,并且您确实需要使用appender,那么您需要排除服务器附带的log4j,并将当前版本与您自己的版本打包在一起.一旦AS7-514解决,这应该很快就会改变.添加该功能后,您无需进行任何操作.
要解决此问题,您首先需要创建一个jboss-deployment-structure.xml
如下所示的内容:
<jboss-deployment-structure>
<deployment>
<!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</deployment>
</jboss-deployment-structure>
Run Code Online (Sandbox Code Playgroud)
然后将您自己的log4j版本添加到您的WEB-INF/lib
目录或部署可以找到库的任何其他位置.
之后,它应该像你期望的那样工作.
归档时间: |
|
查看次数: |
10816 次 |
最近记录: |