【Elixir】LiveView でパスワードが消えてしまう現象の解決方法
Elixir で開発されたアプリケーションからSlackにログを送信する方法を紹介します。
環境
SlackLog
SlackLog を入れることにより開発チームはSlackでアプリケーションのログをリアルタイムで確認でき、問題の検出や解決がスムーズになります。
SlackLog のインストール
まず、slack_log
をプロジェクトに追加します。
mix.exs
の deps
関数に以下のコードを追加してください。
1
2
3
4
5
| defp deps do
[
{:slack_log, "~> 0.1.0"}
]
end
|
次に、ターミナルで mix deps.get
コマンドを実行し、依存関係を取得してください。
設定ファイルの編集
次に、ログ出力の設定を行います。
config/config.exs
ファイルに以下の設定を追加してください。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # ロガー設定
config :logger,
backends: [{SlackLog, :error_log}]
# Slackログ設定
config :logger, :error_log,
slack_url: "https://url_for_slack_hook", # Slack Webhook URL
level: :error, # Slack Send Log Level
metadata: [:file, :line, :function]
# 各ログレベルのヘッダー設定
config :slack_log, :headers,
emergency: "💀 New Emergency!!!",
alert: "💀 New Alert!!!",
critical: "❌ New Critical Error!!!",
error: "❌ New Error",
warning: "❌ New Warning",
notice: "ℹ️ New Notice",
info: "ℹ️ New Info",
debug: "ℹ️ New Debug Message"
|
ログの通知
設定が完了したら、あとは通常通り Logger
モジュールを使用してSlackへ通知されます。
1
| Logger.error("エラーレベルのログです。")
|
これで、Slackに通知されます。
参考