A logger backend for posting errors to Slack.
You can find the hex package here, and the docs here.
First, add the client to your mix.exs
dependencies:
def deps do
[{:slack_logger_backend, "~> 0.0.1"}]
end
Then run $ mix do deps.get, compile
to download and compile your dependencies.
Add the :slack_logger_backend
application as your list of applications in mix.exs
:
def application do
[applications: [:logger, :slack_logger_backend]]
end
Finally, add SlackLoggerBackend.Logger
to your list of logging backends in your app's config:
config :logger, backends: [SlackLoggerBackend.Logger, :console]
You can set the log levels you want posted to slack in the config:
config SlackLoggerBackend, :levels, [:debug, :info, :warn, :error]
Alternatively, do both in one step:
config :logger, backends: [{SlackLoggerBackend.Logger, :error}]
config :logger, backends: [{SlackLoggerBackend.Logger, [:info, error]}]
You'll need to create a custom incoming webhook URL for your Slack team. You can either configure the webhook in your config:
config SlackLoggerBackend, :slack, [url: "http://example.com"]
... or you can put the webhook URL in the SLACK_LOGGER_WEBHOOK_URL
environment variable if you prefer. If
you have both the environment variable will be preferred.