View Source ExSyslogger.JsonFormatter (ex_syslogger v2.1.0)
JsonFormatter is formatter that produces a properly JSON object string where the level, message, node, and metadata are JSON object root properties.
JSON object:
{
"level": "error",
"message": "hello JSON formatter",
"node": "foo@local",
"module": "MyApp.MyModule",
"function": "do_something/2",
"line": 21
}JSON string:
{"level":"error","message":"hello JSON formatter","node":"foo@local","module":"MyApp.MyModule","function":"do_something/2","line":21}
Summary
Functions
Compiles a format string into an array that the format/6 can handle.
It uses Logger.Formatter.
Takes a compiled format and injects the level, message, node and metadata and returns a properly formatted JSON object where level, message, node and metadata properties are root JSON properties. Message is formated with Logger.Formatter.
Functions
@spec compile({atom(), atom()}) :: {atom(), atom()}
@spec compile(binary() | nil) :: [Logger.Formatter.pattern() | binary()]
Compiles a format string into an array that the format/6 can handle.
It uses Logger.Formatter.
@spec format( {atom(), atom()} | [Logger.Formatter.pattern() | binary()], Logger.level(), Logger.message(), Logger.Formatter.time(), Keyword.t(), [atom()] ) :: IO.chardata()
Takes a compiled format and injects the level, message, node and metadata and returns a properly formatted JSON object where level, message, node and metadata properties are root JSON properties. Message is formated with Logger.Formatter.
config_metadata: is the metadata that is set on the configuration e.g. metadata: [:module, :line, :function] to include :module, :line and :function keys. Can be set to :all to include all keys.