【问题标题】:Different Axis 1.4 Web Service Client log different logs file using log4j.xml不同的 Axis 1.4 Web 服务客户端使用 log4j.xml 记录不同的日志文件
【发布时间】:2013-03-06 12:49:27
【问题描述】:

我正在从事一个金融部门项目。该项目有多个针对不同合作伙伴的 Web 服务客户端。到目前为止,项目日志和 Web 服务请求响应日志都记录在不同的文件中,例如 a.log 和 b.log。现在,合作伙伴希望将 Web 服务请求和响应日志记录在不​​同的文件合作伙伴中,即不需要 b.log 文件。取而代之的是 partner1.log、partner2.log、partner3.log 等等......我将 log 4j.xml 用于所有这些目的,这不是 Web 应用程序。问题是我不知道该怎么做? 使用 log4j.xml 在不同的日志文件中制作来自 Web 服务客户端的请求和响应日志似乎是不可能的,因为我有两件事 1) 不同的合作伙伴和 2) 同时轴请求和响应日志。 我正在为客户使用轴 1.4,并在这方面做了很好的功课 任何人都可以建议我提出任何解决方案。 提前致谢。

log4j.xml 与我们通常使用的完全相同。

我现在也添加了。

**<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="FILE_APPENDER"
        class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${basedir}/logs/Server.log" />
        <param name="Append" value="true" />
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <param name="Threshold" value="INFO"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d %-5p (%F:%L) - %m%n" />
        </layout>
    </appender>
    <appender name="FILE_APPENDER_PARTNER_1"
        class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${basedir}/logs/Server_PARTNER_1.log" />
        <param name="Append" value="true" />
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <param name="Threshold" value="INFO"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d %-5p (%F:%L) - %m%n" />
        </layout>
    </appender>
    <appender name="FILE_APPENDER_PARTNER_2"
        class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${basedir}/logs/Server_PARTNER_2.log" />
        <param name="Append" value="true" />
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <param name="Threshold" value="INFO"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d %-5p (%F:%L) - %m%n" />
        </layout>
    </appender>
    <appender name="FILE_APPENDER_PARTNER_3"
        class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${basedir}/logs/Server_PARTNER_3.log" />
        <param name="Append" value="true" />
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <param name="Threshold" value="INFO"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d %-5p (%F:%L) - %m%n" />
        </layout>
    </appender>
    <appender name="FILE_APPENDER_AXIS"
        class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${basedir}/logs/Server_AXIS.log" />
        <param name="Append" value="true" />
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <param name="Threshold" value="INFO"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d %-5p (%F:%L) - %m%n" />
        </layout>
    </appender>
    <category name="org.apache.jcs">
        <level value="WARN" />
    </category>

    <category name="org.hibernate.SQL">
        <level value="WARN" />
    </category>

    <category name="org.hibernate">
        <level value="WARN" />
    </category>
    <category name="org.slf4j.impl.JCLLoggerAdapter">
        <level value="ERROR" />
    </category>
    <category name="com.util.PropertiesUtil">
        <level value="ERROR" />
    </category>
    <!--NEWLY ADDED-->
    <logger name="com.ws.stub.PARTNER_1">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_PARTNER_1" />
    </logger>
    <logger name="com.ws.stub.PARTNER_2">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_PARTNER_2" />
    </logger>
    <logger name="com.ws.stub.PARTNER_3">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_PARTNER_3" />
    </logger>
    <!--AXIS-->
    <logger name="org.apache.axis.transport.http.HTTPSender">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.client.Call">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.client.AxisClient">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <!--my one-->
    <logger name="org.apache.commons.httpclient">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.Handler">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.AxisFault">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.AxisEngine">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.handlers">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.client">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.client.Transport">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.MessageContext">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.handlers.BasicHandler">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.handlers.http.HTTPAuthHandler">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <logger name="org.apache.axis.handlers.http.HTTPActionHandler">
        <level value="ALL" />
        <appender-ref ref="FILE_APPENDER_AXIS" />
    </logger>
    <root>
        <level value="INFO" />      
        <appender-ref ref="FILE_APPENDER" />
    </root>
</log4j:configuration>**

这里有哪位专家可以帮我解决这个问题吗?

【问题讨论】:

  • 举个例子。我有 5 个轴 1.4 客户端。所有客户端向不同位置的不同服务器发送请求,接收响应并执行各自的服务。现在我需要为不同的客户端将它们记录在不同的文件中,来自轴服务器的请求和响应 xml 部分。
  • 如果客户端在不同的包中,那么我将只为他们记录日志,而不是轴请求响应 xml 部分,因为它们将只记录轴部分

标签: java xml web-services log4j axis


【解决方案1】:

通过轴和应用程序的一点编码工作成功解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 2013-10-21
    • 1970-01-01
    • 2010-10-28
    相关资源
    最近更新 更多