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?
Err, non loggarlo? – EJP
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 *)? –
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