ExSyslog.JsonFormatter
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↑
compile(str) | Compiles a format string into an array that the |
format(format, level, msg, timestamp, metadata, config_metadata) | 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
Specs:
- compile(binary | nil) :: [Logger.Formatter.pattern | binary]
- compile({atom, atom}) :: {atom, atom}
Compiles a format string into an array that the format/6
can handle.
It uses Logger.Formatter.
Specs:
- 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]“.