Logger.Formatter.compile

You're seeing just the function compile, go back to Logger.Formatter module for more information.

Specs

compile(binary() | nil) :: [pattern() | binary()]
compile(pattern) :: pattern when pattern: {module(), function :: atom()}

Compiles a format string into a data structure that format/5 can handle.

Check the module doc for documentation on the valid parameters that will be interpolated in the pattern. If you pass nil as the pattern, the pattern defaults to:

"\n$time $metadata[$level] $levelpad$message\n"

If you want to customize formatting through a custom formatter, you can pass a {module, function} tuple as the pattern.

iex> Logger.Formatter.compile("$time $metadata [$level] $message\n")
[:time, " ", :metadata, " [", :level, "] ", :message, "\n"]

iex> Logger.Formatter.compile({MyLoggerFormatter, :format})
{MyLoggerFormatter, :format}