【Senryでエラー監視】Pythonのエラーを確認してみる

スポンサーリンク

はじめに

本記事では、Sentryをとりあえず使ってみようと思います。

今回利用するSentryは、ローカルにDocker Composeで構築したものを利用します。Sentryとは何か、使い始めるまでの準備については下記で紹介しています。

【Sentry】どんなものか?使えるようにするには?
はじめにSentryについてどんなものかざっくりと解説し、実際に使えるようになるまでの準備を紹介したいと思います。SentryとはSentryとは、フロントエンドからバックエンドまでのエラーを管理できるソフトウェアです。エラーの監視だけでな...

また、今回はFlaskアプリからエラーを発生させて、そのエラーをSentryから確認するので、Flask用のSDKを利用します。Flaskの基礎については下記で紹介しています。

いまさらFlask超入門
はじめにFlaskについて、これから使い始める人向けに超簡単なアプリを作成して、実行してみるまでを紹介したいと思います。利用するバージョンは以下の通りです。>>>flask.__version__'2.0.1'Flask...

プロジェクト作成

まずはFlaskのエラーを受けるプロジェクトを作成します。

Sentryの管理画面の「Create Project」からプロジェクトを作成します。

利用する言語やフレームワークを選択します。今回はFlaskを利用するのでFlaskを選択します。

プロジェクト名も設定します。

プロジェクトが作成されると言語やフレームワークに応じた簡単なドキュメントが表示されます。

SDKインストール

次に、Flask用のSentry SDKをインストールします。

pip install --upgrade 'sentry-sdk[flask]'

アプリ作成

Flaskアプリを作成します。

import sentry_sdk
from flask import Flask
from sentry_sdk.integrations.flask import FlaskIntegration

app = Flask(__name__)

sentry_sdk.init(
    # プロジェクトのDSNに変更する
    dsn="http://61beb34072464ec2be4e8ab56adff1af@localhost:9000/2",
    integrations=[FlaskIntegration()],
    traces_sample_rate=1.0,
)

app = Flask(__name__)

@app.route('/debug-sentry')
def trigger_error():
    division_by_zero = 1 / 0

プロジェクトのDSNは対象のプロジェクトの設定画面から確認できます。

Flaskアプリを実行します。

export FLASK_APP=sentry-sample
flask run

エラー確認

SentryのプロジェクトとFlaskアプリの準備ができたら、実際にエラーを発生させてSentryから確認していきます。

http://localhost:5000/debug-sentryにアクセスすることで「ZeroDivisionError」を発生させることができます。

Sentryのプロジェクト管理画面から発生したエラーを確認することができます。

詳細を見てみるとエラー内容の詳細がわかります。

例えば、エラーが発生したコードもわかるようになっています。

参考

タイトルとURLをコピーしました