2015-10-07 13 views
6

Voglio nascondere il nome utente e la password dai log di log4j quando registro un messaggio Http POST che li contiene. Ho rimosso il vero nome utente e la password in questo esempio:Come nascondere nome utente e password dai log di log4j quando vengono inviati tramite http

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]" 

Ho un file log4j.properties che ha la rootlogger impostato su DEBUG. ho cercato di utilizzare le seguenti linee di fare solo la registrazione a livello INFO:

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

ma nessuno di loro funziona. Ho provato questo e anche se ha funzionato:

log4j.logger.org.apache.http=INFO 

L'unico problema di questo è che tutti http registrazione sul livello di debug è nascosto troppo. Voglio solo nascondere il nome utente e la password se è possibile. O quello o per mettere a punto la granularità in modo da poter nascondere il messaggio nell'esempio sopra.

È possibile fare?

+1

Err, non loggarlo? – EJP

+0

Che ne dici di utilizzare un appender di file con un layout personalizzato che non include le informazioni? Oppure puoi estendere l'appender per filtrare le informazioni specifiche. O evento un filtro personalizzato che scarta quel messaggio specifico (/ login *)? –

+1

Ciao, EJP. È registrato di default sul livello DEBUG nelle classi http di Apache e sto registrando molte altre cose usando log4j quindi non posso davvero non loggarlo. Ho cercato di essere specifico e di registrare intestazioni, client e cavi sul livello INFO ma non ha funzionato. Stig Tore, darò un'occhiata ai vostri suggerimenti. Grazie per le risposte/Gen – jnaslund

risposta

0

Questo è il log4j conf. Sto usando:

# (org.apache.commons.httpclient.Wire) 
log4j.logger.httpclient.wire.header = INFO 
log4j.logger.httpclient.wire.content = INFO 
log4j.logger.org.apache.commons.httpclient = INFO 
Problemi correlati