バックエンド(Ruby on Rails)とフロントエンド(Vue.js)にSentryを仕込んで例外をキャッチをしています。ですが、利用するユーザに関わらずURLが同一なので、どのユーザが例外を踏んだのか瞬時に特定することができず、影響判断に時間がかかってました。それを解決する方法です
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 });
})
結果
これで、通知が来てすぐに誰が踏んだのか分かります。setUser知らなかったので、URLに何かしら埋め込むしかないかなぁーと思ってました。社内のメンバーが見つけてくれて解決してくれたのでメチャ感謝です。その功績を(許可貰って)記事にしました(笑)