古いスレッドであることは知っていますが、答えを探している人には役立つかもしれません。
AXIS-1 サーバー側のログについては、以下のserver-config.wsddように更新してください。warファイルのフォルダーのserver-config.wsdd下にあります。WEB-INF
ログの新しいハンドラー。ファイル名とパスは構成可能です。
<handler name="log" type="java:org.apache.axis.handlers.LogHandler">
<parameter name="LogHandler.fileName" value="/tmp/req-res-axis.log" />
</handler>
LogHandler.writeToConsoleas の値を持つパラメーターを使用"true"して、コンソール ログにログインすることもできます。
<globalConfiguration>次に、セクションを更新して
<requestFlow>
<handler type="log"/>
</requestFlow>
<responseFlow>
<handler type="log"/>
</responseFlow>
requestFlowおよびに他のハンドラが含まれている場合はresponseFlow、ログを最初のハンドラとして配置します。
これは、本番用ではなく、デバッグ目的でのみ使用する必要があります。ロギングはナイーブであるため、バッファなしでファイルに対して通常の書き込み操作を実行します。第 2 に、ロールオーバー メカニズムがないため、ログ ファイルが GB 単位まで大きくなります。
AXIS-1 クライアント側のログについては、以下のclient-config.wsddように更新してください。は、サブフォルダーではなく、構成されたルート フォルダーの直下にclient-config.wsdd移動する必要があります。最適な場所は、またはファイルが存在するディレクトリと同じです (上記の #MukeshKoshyM の投稿に感謝します)。classpathclasspathlog4j.xmllog4j.properties
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler name="log" type="java:org.apache.axis.handlers.LogHandler" >
<parameter name="LogHandler.fileName" value="/tmp/axis_req_res.log"/>
</handler>
<globalConfiguration>
<requestFlow>
<handler type="log" />
</requestFlow>
<responseFlow>
<handler type="log" />
</responseFlow>
</globalConfiguration>
<transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender" />
</deployment>
サーバー側のロギングについて述べた同じ問題が、クライアント側にも当てはまります。
org.apache.axis.handlers.BasicHandler運用環境では、ハンドラーでクラス ファイルを拡張および構成することにより、独自のログ ハンドラーを作成します。#raspayu からの上記の回答を見て、独自に構成してください。public void onFault(MessageContext msgContext)障害をログに記録するには、Handlerのメソッドをオーバーライドします。