我正在尝试在使用Axis2的服务器上启用传入HTTP标头的记录,有没有办法通过log4j来实现?
答案 0 :(得分:2)
Axis2使用Apache Commons Logging,一种可插入的日志记录API。现在问题是:您的服务器使用哪个日志库?如果它是log4j,那么你可能会让它记录Axis2流量 - 尝试设置
log4j.logger.org.apache.axis2.transport.http.server.wire=DEBUG
在应用程序服务器的log4j.properties
文件中。
但是,如果您的服务器使用其他lib,则将轴输出重定向到log4j可能涉及使用Commons Logging FAQ中所述的类加载器 - 以便Commons Logging和Log4j由同一个类加载器加载,您需要部署将您的EAR和反向类加载策略的两个库都设置为“父级最后”。您的应用程序中的其他库可能无法使用此设置运行。
答案 1 :(得分:1)
我知道这是老帖子,但我想分享我的解决方案以帮助其他人,因为我最近刚遇到同样的情况。我在log4j.xml中配置了以下内容
<appender name="fileout" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="/soapLog/axis2.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%p] %m%n" />
</layout>
</appender>
<logger name="org.apache.axis2.enterprise">
<level value="debug" />
<appender-ref ref="fileout" />
</logger>
<logger name="de.hunsicker.jalopy.io">
<level value="debug" />
<appender-ref ref="fileout" />
</logger>
<logger name="httpclient.wire">
<level value="debug" />
<appender-ref ref="fileout" />
</logger>
<logger name="org.apache.commons.httpclient">
<level value="debug" />
<appender-ref ref="fileout" />
</logger>
<logger name="org.apache.axis2.transport.http.server.wire">
<level value="debug" />
<appender-ref ref="fileout" />
</logger>
希望这可能会有所帮助。