Web サービスからのログ出力の検索/取得に問題があります。
Tomcat6 コンテナーの axis2 を介して実行されている Web サービスがあり、.aar ファイルには次の構造が含まれています。
root/
log4j.properties
lib/
slf4j-api.jar
slf4j-log4j12.jar
log4j-1.2.jar
com/
all of my classes
META-INF/
services.xml
このサービスは今のところ単純です。
public class MyService {
private static Logger log = LoggerFactory.getLogger(MyService.class);
public String echo(String toLog) {
log.error("Entered echo with [{}]", toLog);
return "Echo: " + toLog;
}
}
コマンド ラインで jar ファイルからメイン コマンドを使用して実行すると、ロギングは正常に機能しますが、Web サービスとしてアクセスすると、ロギング ファイルは作成されませんが、エラーも発生しません。クライアントは、期待どおりに "Echo: " + toLog 文字列を受け取ります。
log4j.properties の関連ビットは次のとおりです。
### direct messages to file myservice.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=/var/lib/tomcat6/logs/myservice.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=warn, file
log4j.properties ファイルが間違った場所にありますか? それともここで何か他のことが起こっていますか?