Timber v0.4.5 Timber.Event behaviour
A common interface for working with Timber events. That is, anything that
implements the Timber.Eventable
protocol.
Summary
Functions
Convenience method for getting the message and metadata in one call
Extracts the message from the event
Convenience method for keying the metadata with :timber_event
Types
t()
t :: Events.ControllerCallEvent | Events.CustomEvent | Events.ExceptionEvent | Events.HTTPRequestEvent | Events.HTTPResponseEvent | Events.SQLQueryEvent | Events.TemplateRenderEvent
Functions
Convenience method for getting the message and metadata in one call.
require Logger
{message, metdata} = Timber.Event.logger_tuple(data)
Logger.info(message, metdata)
This is equivalent to:
require Logger
event = Timber.Eventable.to_event(data)
message = Timber.Event.message(event)
Logger.info(message, timber_event: event)
In future versions of Elixir, a logger passed function can return this tuple. See https://github.com/elixir-lang/elixir/pull/5447. Once available, you’ll be able to do:
# Warning, the below code will not work until the above PR is released!
require Logger
Logger.info fn -> Timber.Event.logger_tuple(event) end
Extracts the message from the event.
Using custom events? Simple define a message/1
method or add a :message
attribute.
Convenience method for keying the metadata with :timber_event
.