古いスレッドであることは知っていますが、答えを探している人には役立つかもしれません。
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.writeToConsole
as の値を持つパラメーターを使用"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 の投稿に感謝します)。classpath
classpath
log4j.xml
log4j.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のメソッドをオーバーライドします。