【发布时间】:2013-04-18 00:22:43
【问题描述】:
我有一个使用 Spring 和 CXF 的 Java 服务。该代码来自以前的开发人员,我正在提供维护,但我在日志中看到了这一点
--------------------------------------
Apr 16, 2013 1:44:11 PM org.apache.cxf.interceptor.AbstractLoggingInterceptor log
INFO: Inbound Message
----------------------------
ID: 33
Address: /MyApplication/endpoint
Encoding: UTF-8
Http-Method: POST
Content-Type: application/x-www-form-urlencoded
Headers: {content-type=[application/x-www-form-urlencoded], connection=[close], host= [localhost:8080], Content-Length=[11504], user-agent=[Apache-HttpClient/4.2.3 (java 1.5)], Content-Type=[application/x-www-form-urlencoded]}
Payload: {
"events" :
[ { event }, { event }, ... ]
}
而且我们有太多的事件,日志变得难以管理。有没有办法可以关闭此日志记录?这些日志调用不是从应用程序内部创建的,它们是由某种我找不到的拦截器创建的。我确实在 cxf-context.xml 配置文件中找到了这个:
<cxf:bus>
<cxf:features>
<cxf:logging />
</cxf:features>
</cxf:bus>
但是在我已经从配置文件中注释掉这些行之后,日志仍然会出现。
请帮忙。谢谢
【问题讨论】:
-
应用程序是否使用了一些日志 API?您是否尝试将 'org.apache.cxf' Logger 置于 ERROR 级别?
-
@DiogoSantana 该应用程序已经使用 log4j,但我需要完全消除这个额外的日志记录。如何将 'org.apache.cxf' Logger 更改为 ERROR 级别?
-
如果我没记错的话,你可以像这样在 log4j.properties 中添加一行:log4j.logger.com.foo=WARN。但这取决于你的应用程序如何配置 log4j,或者通过属性文件或通过代码。
-
似乎注释掉这些行就可以了,部署过程存在一些问题,不在我的控制范围内。不过谢谢