4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Sentryに独自のユーザ情報を追加して誰がバグを踏んだのかを一瞬で特定する

Last updated at Posted at 2023-07-03

バックエンド(Ruby on Rails)とフロントエンド(Vue.js)にSentryを仕込んで例外をキャッチをしています。ですが、利用するユーザに関わらずURLが同一なので、どのユーザが例外を踏んだのか瞬時に特定することができず、影響判断に時間がかかってました。それを解決する方法です
Image from Gyazo

setUserを使う

Ruby on Rails編

SentryにsetUserという機能がありますのでそれを使います。以下のQiita記事を参考にしてください

Sentry.set_user(id: current_user.id)

この部分はid以外に独自のパラメータを設定できます。例えば

Sentry.set_user(client_name: current_user.name)

こんなこともできます。

Vue.js編

同様にsetUserを呼び出します。私のプロジェクトではヘッダにログイン者情報を出していたので、そこを表示するときにセットするようにしました。

// header.vue
import * as Sentry from "@sentry/vue";

watch(current_user, () => {
  Sentry.setUser({ client_name: current_user.client_name });
})

結果

Image from Gyazo

これで、通知が来てすぐに誰が踏んだのか分かります。setUser知らなかったので、URLに何かしら埋め込むしかないかなぁーと思ってました。社内のメンバーが見つけてくれて解決してくれたのでメチャ感謝です。その功績を(許可貰って)記事にしました(笑)

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?