Module logger_webhook_h

Webhook logger.

Copyright © Public Domain

Authors: nixx quality (nixx@is-fantabulo.us).

Description

Webhook logger

This logging handler sends reports to a webhook with a provided URL

It uses multipart/form-data, so make sure the receiver supports this. It's been tested to work fine with Discord.

It requires certifi: https://hex.pm/packages/certifi

Shell examples:
  % Sends each report as a report.txt file
  logger:add_handler(error_webhook, logger_webhook_h, #{
    config => #{ url => "https://discord.com/api/webhooks/12345/fanchyschmancyid" },
    level => warning,
    formatter => {logger_formatter, #{ single_line => false }}
  }).
 
  % Sends each report as a chat message in markdown code blocks
  logger:add_handler(error_webhook, logger_webhook_h, #{
    config => #{
      url => "https://discord.com/api/webhooks/12345/fanchyschmancyid",
      delivery => content
    },
    level => warning,
    formatter => {logger_formatter, #{
      template => ["```\n",time," ",level,":\n",msg,"\n```"],
      single_line => false
    }}
  }).
sys.config example:
  [
    {kernel, [
      {logger, [
        {handler, error_webhook, logger_webhook_h,
          #{ config => #{ url => "https://discord.com/api/webhooks/12345/fanchyschmancyid" },
             level => warning,
             formatter => {logger_formatter, #{ single_line => false }}
      ]}
    ]}
  ].

Function Index

adding_handler/1
changing_config/3
log/2

Function Details

adding_handler/1

adding_handler(HandlerConfig) -> any()

changing_config/3

changing_config(X1, OldConfig, NewConfig) -> any()

log/2

log(LogEvent, HandlerConfig) -> any()


Generated by EDoc