GameApp.LoggerFormatter (game_app v0.1.0)

A custom log formatter for Logger.

Summary

Functions

Link to this function

format(level, message, timestamp, metadata)

@spec format(
  level :: Logger.level(),
  message :: Logger.message(),
  timestamp ::
    {{integer(), integer(), integer()},
     {integer(), integer(), integer(), integer()}},
  metadata :: keyword()
) :: IO.chardata()

Formats a log entry.

Takes a log level, message, timestamp, and metadata, and returns a single string line that represents the formatted log entry. This format is particularly suitable for log aggregation tools that are optimized for key-value based log messages.

Parameters

  • level: The log level (e.g., :info, :debug, :error).
  • message: The log message.
  • timestamp: A tuple representing the timestamp of the log entry in the format {{year, month, day}, {hour, minute, second, millisecond}}.
  • metadata: A keyword list of metadata associated with the log entry.

Returns

A string that represents the log message formatted as a series of key-value pairs, terminated with a newline.