【发布时间】:2016-02-29 21:19:01
【问题描述】:
在消息发送到后端之前,有什么方法可以挂接到 Elixir 记录器?在写入外部系统之前,我需要去除潜在的敏感信息。
【问题讨论】:
在消息发送到后端之前,有什么方法可以挂接到 Elixir 记录器?在写入外部系统之前,我需要去除潜在的敏感信息。
【问题讨论】:
只是为了其他可能会遇到这个问题而没有注意到我发布的评论的人,我相信您可以通过Logger.Translator 模块完成您想要实现的目标。您将构建一个模块和函数来对要过滤的敏感数据进行模式匹配,然后通过 Logger.add_translator/1 函数添加模块和函数。
编辑:针对原问题发帖人留下的评论:我建议你看here,具体看这两个选项::handle_otp_reports和:handle_sasl_reports。我还要提请您注意文档中的这段话:
此外,Logger 允许 Erlang 的 error_logger 发送的消息 通过翻译器将其翻译成 Elixir 格式。
假设您要通过 Erlang 的 error_logger 输出要过滤的消息,这是正确的方法。如果您没有通过 error_logger 输出这些消息,请添加有关您用于输出要清理的消息的机制的更多详细信息。
【讨论】: