是否可以告诉 spring cloud sleuth 不记录密码等值?

问题描述

所以我在 Spring Boot 应用程序中启用了 Spring Cloud Sleuth,结果发生了:

2021-03-03 19:11:11.164 DEBUG [OAuth2 service,b1e3783b06d8cc61,b1e3783b06d8cc61] 5056 --- [nio-8080-exec-5] o.s.web.client.RestTemplate              : Writing [{grant_type=[password],client_id=[myclientid],client_secret=[b0ea9376...],username=[rose],password=[mypassword]}] as "application/x-www-form-urlencoded"

正如你在最后看到的,侦探记录了 password=[mypassword] 什么是不好的......一点都不好。

是否可以将 Sleuth 配置为不记录敏感数据?

解决方法

正如您在开头所看到的,这不是由 Sleuth 记录的,而是由 RestTemplate 记录的,记录器是 o.s.web.client.RestTemplate,它与 Sleuth 无关。 (Here 是执行此操作的行)。

Sleuth 与这个日志事件有关的是这部分:[OAuth2 service,b1e3783b06d8cc61,b1e3783b06d8cc61];您的服务名称、traceID 和 spanID,它们都不应被视为机密。

如果您不希望 RestTemplate 注销这些详细信息,您可以将其日志级别设置为 INFOWARN 或更高。