LaravelでSlackにエラーログを出力する
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
LaravelのエラーログをSlackに飛ばす方法をやっていきます。ログをSlackに吐き出すように設定すると、スマホなどに通知させやすいのでおすすめです。
環境
MacOS
Laravel6
Slack のワークスペースを持っている状態
SlackAPI の Webhook を取得する
まず、SlackAPI のページに入ります。
ここから、ログインしてください。
ワークスペースがない場合は、ワークスペースを作成してください。
1 ログインしたら、右上の「YourApps」を押します。
2 次のページで「Create New App」を押します。
3App Name の入力と、ワークスペースを選択します。
App Name は任意の名前をつけれます。日本語でも書けるので、わかりやすくて自分が管理しやすい名前をつけましょう。
4 下の画像の場所に、Incomming Webhooks という項目があるのでそこをクリックしてください。
そこに、Activate Incoming Webhooks が OFF で初期状態にあるので、これを ON にします。
すると、色々表示されました。
5 この Add New Webhook To Workspace をクリックします。
エラーが出てしまいました・・・。
「(さきほど設定した AppName)にはインスト ールするボットユーザーがありません。」と出ました。
これは、Slack の機能をインストールするための Bot がワークスペースにいないために起こるエラーのようです。
たまーーーにしか触らないのでここら辺は覚えてなかったです。
6 左のメニューの Features/AppHome「Your App’s Presence in Slack」の項目を設定する
スラックのワークスペースに Bot が入りました。
そしたら、再び戻って、さきほどの IncomingWebhooks⇨Add New Webhook To Workspace をクリックします。
そこに投稿するチャンネルを指定します。
今回は、プライベートで「エラーログ」というチャンネルを Slack のワークスペースに作って、それを指定しています。
指定が終わると、WebhookURL というのが発行され、それを使うとそのチャンネルにログを飛ばすことができます。
Laravel で実装する
Laravel ではエラーログは、config/logging.php に設定が書かれています。
このファイルで、開発環境でのエラーログであったり本番環境でのエラーログであったり、というのを指定することが可能になっています。