2015-10-07 4 views
6

ログメッセージがログに記録されているときにユーザー名とパスワードを非表示にしたいのですが、私は、この例では、実際のユーザ名とパスワードを削除した:http4jログからユーザー名とパスワードを非表示にする方法

2015-10-07 11:19:41 DEBUG wire:72 - http-outgoing-3 >> "POST /login?IDToken1=<Username in plain text is seen here>&IDToken2=<Password in plain text is seen here> HTTP/1.1[\r][\n]" 

私はDEBUGに設定rootloggerを持っているlog4j.propertiesファイルを持っています。 私はINFOレベルでロギングを行うには、次の行を使用しようとしました:

log4j.logger.org.apache.http.headers=INFO 
log4j.logger.org.apache.http.client=INFO 
log4j.logger.org.apache.http.wire=INFO 

それらのどれも機能しません。私はこのかかわらずを試み、それが働いた:

log4j.logger.org.apache.http=INFO 

これで唯一の問題は、DEBUGレベルのすべてのhttpロギングがあまりにも隠されているということです。可能であれば、私は本当にユーザー名とパスワードを隠したいだけです。 上記の例のメッセージを隠すことができるように細かい調整が必要です。

これは可能ですか?

+1

Err、ログに記録しませんか? – EJP

+0

情報を含まないカスタムパターンレイアウトを持つファイルアペンダの使用はどうですか?あるいは、アペンダーを拡張して特定の情報を除外することもできます。または、特定のメッセージ(/ login *)を破棄するカスタムフィルタを使用しますか? –

+1

こんにちは、 EJP。 Apache HTTPクラスのDEBUGレベルにデフォルトで記録されています。私はlog4jを使って他の多くのものを記録していますので、本当にログに記録することはできません。私は特定のものにしようとし、ヘッダー、クライアント、および情報レベルのログを記録しましたが、うまくいきませんでした。 Stig Tore、私はあなたの提案を見ていきます。 あなたの返信ありがとうございます/ Jan – jnaslund

答えて

0

ここにlog4j confがあります。私は使用しています:

# (org.apache.commons.httpclient.Wire) 
log4j.logger.httpclient.wire.header = INFO 
log4j.logger.httpclient.wire.content = INFO 
log4j.logger.org.apache.commons.httpclient = INFO 
関連する問題