ex_syslogger v1.3.4 ExSyslogger.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

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

compile(str)

Specs

compile({atom, atom}) :: {atom, atom}
compile(binary | nil) :: [Logger.Formatter.pattern | binary]

Compiles a format string into an array that the format/6 can handle. It uses Logger.Formatter.

format(format, level, msg, timestamp, metadata, config_metadata)

Specs

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]“.