Wie verhindert man bei Spring Boot und Logback, dass das Passwort eines JSON Elements nicht im Logfile erscheint?

von

Kurz-Tipp

In einer Spring-Boot Applikation möchte man im Allgemeinen nicht das Passwort in die Logfiles schreiben. Das Log-Framework logback ermöglicht es mit: 

%replace(%msg){'"password":".*"', '"password":"xxxxx"'}

das Passwort innerhalb eines JSON-Elements zu ersetzen.

In der application.properties muss man das dann bspw. folgendermaßen in die Log Pattern einbauen:


...
# Replace password in returned JSON with xxxx
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} | %magenta([%thread]) | ${PID:- } | %highlight(%-5level) | %logger.%M - %replace(%msg){'"password":".*"', '"password":"xxxxx"'}%n
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} | %magenta([%thread]) | ${PID:- } | %highlight(%-5level) | %logger.%M - %replace(%msg){'"password":".*"', '"password":"xxxxx"'}%n
...

Zurück