查看源代码 Logger.Translator 行为 (日志 v1.16.2)

Erlang 日志消息的默认翻译。

Logger 允许开发者通过提供一个翻译器,将 OTP 应用程序提供的日志消息重写为更兼容 Elixir 日志消息的格式。

翻译器只是一个包含模块和函数的元组,可以通过 Logger.add_translator/1Logger.remove_translator/1 函数添加和删除,并对所有高于最小日志级别的 Erlang 消息进行调用,带有四个参数

  • min_level - 当前日志级别
  • level - 正在翻译的消息的级别
  • kind - 消息是 :report 还是 :format
  • message - 要格式化的消息。如果它是 :report,它是一个包含 {report_type, report_data} 的元组,如果它是 :format,它是一个包含 {format_message, format_args} 的元组。

该函数必须返回

  • {:ok, chardata, metadata} - 如果消息翻译及其元数据
  • {:ok, chardata} - 翻译后的消息
  • :skip - 如果消息不应被翻译或记录
  • :none - 如果没有翻译,这将触发下一个翻译器

有关示例实现和 Logger 翻译的默认消息,请参见本模块中的函数 translate/4

摘要

回调

翻译日志消息的回调函数。

回调

链接到此回调

translate(level, level, arg3, report)

查看源代码
@callback translate(Logger.level(), Logger.level(), :format | :report, :logger.report()) ::
  {:ok, iodata(), keyword()} | {:ok, iodata()} | :skip | :none

翻译日志消息的回调函数。

函数

链接到此函数

translate(min_level, level, kind, message)

查看源代码

内置翻译函数。