View Source Logger.Translator behaviour (Logger v1.15.7)
Default translation for Erlang log messages.
Logger allows developers to rewrite log messages provided by OTP applications into a format more compatible with Elixir log messages by providing a translator.
A translator is simply a tuple containing a module and a function
that can be added and removed via the Logger.add_translator/1 and
Logger.remove_translator/1 functions and is invoked for every Erlang
message above the minimum log level with four arguments:
min_level- the current Logger levellevel- the level of the message being translatedkind- if the message is a:reportor:formatmessage- the message to format. If it is:report, it is a tuple with{report_type, report_data}, if it is:format, it is a tuple with{format_message, format_args}.
The function must return:
{:ok, chardata, metadata}- if the message translation with its metadata{:ok, chardata}- the translated message:skip- if the message is not meant to be translated nor logged:none- if there is no translation, which triggers the next translator
See the function translate/4 in this module for an example implementation
and the default messages translated by Logger.
Summary
Callbacks
Callback for translating a logger message.
Functions
Built-in translation function.
Callbacks
@callback translate(Logger.level(), Logger.level(), :format | :report, :logger.report()) :: {:ok, iodata(), keyword()} | {:ok, iodata()} | :skip | :none
Callback for translating a logger message.
Functions
Built-in translation function.