LogOut (log_out v0.1.5)

Copy Markdown

An Elixir :logger backend that forwards application logs and exceptions to team chat platforms.

LogOut intercepts standard Elixir Logger events across your application and dispatches them seamlessly to configured adapters like Slack or Telegram. Because it uses Task.start/1 internally, slow HTTP requests to external webhooks will never block your application's executing processes or HTTP request handlers.

Adapters

See LogOut.Adapter for details on how to implement custom chat integrations, or use one of the built-in providers:

Summary

Functions

Safely formats diverse Elixir log messages (strings, reports, format strings) into a flat string.

Extracts the Module.function/arity signature from the log event metadata if present.

Maps standard Elixir logger levels (e.g. :warning, :error) to standard emojis.

Callback implementation for :gen_event.handle_call/2.

Callback implementation for :gen_event.handle_info/2.

Callback implementation for :gen_event.init/1.

Callback implementation for :gen_event.terminate/2.

Functions

code_change(old_vsn, state, extra)

Callback implementation for :gen_event.code_change/3.

format_message(arg1)

Safely formats diverse Elixir log messages (strings, reports, format strings) into a flat string.

format_mfa(arg1)

Extracts the Module.function/arity signature from the log event metadata if present.

get_emoji(arg1)

Maps standard Elixir logger levels (e.g. :warning, :error) to standard emojis.

handle_call(arg, state)

Callback implementation for :gen_event.handle_call/2.

handle_event(arg1, state)

Callback implementation for :gen_event.handle_event/2.

handle_info(_, state)

Callback implementation for :gen_event.handle_info/2.

init(_MODULE__)

Callback implementation for :gen_event.init/1.

terminate(reason, state)

Callback implementation for :gen_event.terminate/2.