是否可以在Bean级别控制卡宴记录-以停止记录密码

时间:2019-04-04 20:22:59

标签: apache-cayenne

DEBUG 模式下使用Java应用程序运行 Cayenne 时,cayenne操作可见-在以下情况下,可以在日志中看到密码密码已更改。

找不到有关在Bean或类级别上控制日志记录的信息。 日志看起来像!MESSAGE [批处理绑定:1-> USERPWD:'1923a3d170120bb7709ef2f733c0cd ...',2-> SECURID:19]

最好停止记录所有与密码相关的更改

1 个答案:

答案 0 :(得分:0)

您的密码是经过哈希处理的(非常好),并且哈希被修剪掉了,因此您不会暴露太多。但是,如果要格外小心,可以安装自己的JdbcEventLogger

ServerRuntime rt = ServerRuntime.builder()
   .addModule(b -> b.bind(JdbcEventLogger.class).to(MyJdbcEventLogger.class)
   ....

MyJdbcEventLogger的Cayenne 4.1中,您可以继承Slf4jJdbcEventLogger的子类,覆盖其appendParameters来检查看起来像密码的参数。在4.0中,appendParameters是私有方法,因此您可能必须在代码中复制/粘贴整个Slf4jJdbcEventLogger,然后在其中进行更改。