log4jでhttpclientにログインしたい。これを行って、コンテンツ org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger を含むファイル commons-logging.properties を追加しました。次に、ロギングの例として、httpclient ドキュメントで提供されている次の内容を含むファイル log4j.properties を追加しました。
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n
log4j.logger.org.apache.http=DEBUG
log4j.logger.org.apache.http.wire=ERROR
どちらのファイルもクラスパスにあります。次のパラメータを入れます
-Dlog4j.configuration=log4j.properties
-Dlog4j.debug
ただし、httpclient で http リクエストを実行するプログラムを実行すると、ログ出力が表示されません。後者のパラメーターは、その意味で log4j の出力を詳細にする必要があります。たとえば、使用されたプロパティ ファイルなど、いくつかのものが表示されます。これはまったく表示されません。私が試したのは、プログラムでロガーを読み取ることです
Logger.getLogger("log4j.logger.org.apache.http.wire").getLevel().toString()
これにより、null ポインター例外がスローされます。
さらに、私は読んだ
LogManager.getCurrentLoggers().hasMoreElements()
これは常に偽です。
httpclient に対して log4j が「アクティブ化」されていないようです。ログオンをオンにするために私ができることを誰か助けてもらえますか?
(はい、関連するトピックはこちらのstackoverflowで既に読みました)
どうもありがとうございました
フェリックス