Elixir Logger - 如何修改记录消息的内容?

时间:2016-02-22 22:52:58

标签: logging elixir

在将消息发送到后端之前,有没有办法挂钩Elixir Logger?我需要在将敏感信息写入外部系统之前删除它们。

1 个答案:

答案 0 :(得分:2)

只是为了可能遇到这个问题并且没有注意到我发布的评论的其他人,我相信你可以通过Logger.Translator模块完成你想要实现的目标。您将构建一个模块和函数,以便对要过滤的敏感数据进行模式匹配,然后通过Logger.add_translator/1函数添加模块和函数。

编辑:回答原始问题的海报留下的评论:我建议您查看here并特别注意这两个选项::handle_otp_reports:handle_sasl_reports。我还要提请你注意文档中的这段话:

  

此外,Logger允许Erlang的error_logger发送的消息   通过译者翻译成Elixir格式。

假设您正在通过Erlang的error_logger输出要过滤的消息,这是正确的方法。如果您没有通过error_logger输出这些消息,请添加有关您用于输出要删除的邮件的机制的更多详细信息。

相关问题