私のアプリケーションには、cxf フレームワークを使用して実装された Web サービスがいくつかあります。各 Web サービスの着信要求を別々のファイルに記録したいと考えています。例えば
requests -> ws1 interface -> incomingWs1.log
requests -> ws2 interface -> incomingWs2.log
現時点では、ロギングインターセプターを使用して着信メッセージと発信メッセージをログに記録する方法を知っています。これは正常に機能しますが、interceports を使用すると、ログの出力場所を定義できません。ロギング インターセプターを使用したサンプルを次に示します。
@WebService(endpointInterface = "at.pdts.cxf.HelloWorld")
@InInterceptors(interceptors = "org.apache.cxf.interceptor.LoggingInInterceptor") // this works!
@Logging(limit=16000, inLocation="<stdout>", outLocation="<logger>", pretty=true) // does not work!
public class HelloWorldImpl implements HelloWorld { ...
上記のコードサンプルでわかるように、しばらく調査した後、検索した場所の設定を提供するログ注釈を見つけました。アネーションは効果がありません!私はいくつかの場所のオプションを試しました
file:///c:/log.log
file:c:\log.log
<stdout>
誰かが私を正しい方向に向けてくれることを願っています。バージョン2.2.1のgrailsアプリケーション内でcxfフレームワーク2.7.3を使用しています。