我们的应用程序中的一些异常消息包含凭据/私钥或其他敏感信息,这些信息不应该进入错误日志。我想在编写之前过滤记录消息的内容,以便可以用[编辑]或某些此类文本值替换已知的敏感值和/或模式。一些搜索没有发现任何东西。有没有办法做到这一点,并以通用的方式应用于所有配置的appender?
我不想通过知道可能发生所有这些异常的位置进行过滤,并为此目的编写异常处理程序。我们的代码没有抛出异常,因此“不这样做”不是一种选择。
答案 0 :(得分:1)
非常简单:不要把它们放在那里。
当然,你可以编写一些正则表达式和启发式等,并在你的日志中定期运行它们 - 所有这些都容易失败或破坏。
并且没有任何理由在日志中使用密码和私钥
答案 1 :(得分:0)
我希望(但尚未尝试过)您可以根据sample here编写BufferingAppender
并可以使用方法override protected void Append(LoggingEvent loggingEvent)
更改logingEvent以删除敏感内容信息。