Django は Internal Server エラーが発生した場合、ADMIN 宛にエラーメールを飛ばすことができます。

ブログを建てた時から ADMIN エラーメールは Gmail 宛に送信しています。
それほど頻繁にエラーが発生しているわけではないのすが、集計と可視化がしたかったので、Gmail から Google Apps Script に 転記するスクリプトを書いてみました。

エラーメール送付の設定自体は、Mezzanine ブログの運用で 実施していること、実行 JOB について | Monotalk記載していますので、よろしければご確認ください。


作成したスクリプト

Github にアップしました。si
* kemsakurai/DjangoError2GSheet: Django のエラーメールを Google スプレッドシート に登録する スクリプト

Django 側で、Error Mail のテンプレートを編集して Parse しやすい形式に変換してから送る。
しくは Error Mail ではなくスプレッドシート に直接書き込むロガーを作るのが成功法な気がします。しかし、実装できないことはないフォーマットでしたので、Google Apps Script で作成をしました。

Job の場合 と HTTP リクエストの場合では、ログ出力項目に若干違いがあり、シート を分けて登録するようにしています。
私の環境で 1-2年分のメール 500通ほど を処理した感じでは上手く動作しておりますが、それほど、多くのバリエーションで試せたわけではないので、想定外の形式でエラーとなる可能性はあります。


参考

以下、作成時に参考にしました。

以上です。

コメント