我正在从事一个金融部门的项目。该项目有多个针对不同合作伙伴的 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>**
这里的任何一位专家都可以帮我解决这个问题吗?