如何通过log4j启用HTTP标头的日志记录

时间:2011-09-01 16:39:10

标签: log4j axis2

我正在尝试在使用Axis2的服务器上启用传入HTTP标头的记录,有没有办法通过log4j来实现?

2 个答案:

答案 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>

希望这可能会有所帮助。