Timber v0.1.4 Timber.LogEntry

The LogEntry module formalizes the structure of every log entry

When a log is produced, it is converted to this intermediary form by the Timber.Logger module before being passed on to the desired transport. Each transport implements a write/2 function as defined by the Timber.Transport.write/2 behaviour. Inside of this function, the transport is responsible for formatting the data contained in a log entry appropriately.

Each log entry consists of the log message, its level, the timestamp it was logged at, and a context stack that represents the context of this process. The context stack acts like a chronological record. See the main Timber module for more information.

Summary

Functions

Creates a new LogEntry struct

Encodes the log event to a JSON document

Types

context_stack()
t()
t :: %Timber.LogEntry{context: context_stack, dt: IO.chardata, level: Timber.Logger.level, message: Timber.Logger.message}

Functions

new(timestamp, level, message, metadata)

Creates a new LogEntry struct

The metadata from Logger is given as the final parameter. If the :timber_context key is present in the metadata, it will be used to fill the context for the log entry. Otherwise, a blank context will be used.

to_json_string!(log_entry, options)
to_json_string!(t, Keyword.t) :: iodata | no_return

Encodes the log event to a JSON document

Options

  • :only - A list of key names. Only the key names passed will be encoded.