View Source LoggerWebhookBackend (logger_webhook_backend v0.0.4)
LoggerWebhookBackend
is a custom logger backend for Logger
that sends logs to a specified webhook URL.
Testing has only taken place on Discord webhooks.
Configuration
LoggerWebhookBackend
can be configured in your config.exs
file:
config :logger,
backends: [{LoggerWebhookBackend, :webhook_logger}]
config :logger, :webhook_logger, level: :error
Environment variables can be set in your runtime.exs
file:
config :logger, :webhook_logger,
webhook_url: System.get_env("WEBHOOK_URL")
Summary
Functions
Format a log message for markdown enabled webhooks. Used internally by log_to_discord/5
.
Callback implementation for :gen_event.handle_call/2
.
Callback implementation for :gen_event.handle_event/2
.
Callback implementation for :gen_event.handle_info/2
.
Callback implementation for :gen_event.init/1
.
Send a log message to a Discord webhook URL.
Functions
@spec format_message( log_level :: :debug | :info | :notice | :warning | :error | :critical | :alert | :emergency, message :: iodata(), timestamp :: DateTime.t(), metadata :: map() ) :: iodata()
Format a log message for markdown enabled webhooks. Used internally by log_to_discord/5
.
Callback implementation for :gen_event.handle_call/2
.
Callback implementation for :gen_event.handle_event/2
.
Callback implementation for :gen_event.handle_info/2
.
Callback implementation for :gen_event.init/1
.
@spec log_to_discord( webhook_url :: String.t(), log_level :: :debug | :info | :notice | :warning | :error | :critical | :alert | :emergency, message :: iodata(), timestamp :: DateTime.t(), metadata :: map() ) :: :ok | {:error, term()}
Send a log message to a Discord webhook URL.