もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

Laravel+Inertiaでのsentry設定

はじめに

こんばんは。

Laravel + Inertia環境で Sentryを使用することがあったので、めっちゃ簡単ですが設定方法を備忘録で残しておきます。

本番

やり方はとっても簡単で、 resources/js/app.ts に記載するだけです。

import "./bootstrap";
import "../css/app.css";
import { createInertiaApp } from "@inertiajs/vue3";
import * as Sentry from "@sentry/vue";
import { resolvePageComponent } from "laravel-vite-plugin/inertia-helpers";
import { DefineComponent, createApp, h } from "vue";

createInertiaApp({
  title: (title) => `${title} - アプリ`,
  resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob<DefineComponent>("./Pages/**/*.vue")),
  setup({ el, App, props, plugin }) {
    const app = createApp({ render: () => h(App, props) });

    // 初期設定
    Sentry.init({
      app,
      dsn: import.meta.env.VITE_SENTRY_DSN_PUBLIC,
      environment: 'development',
      tracesSampleRate: 1.0,
      profilesSampleRate: 1.0,
      trackComponents: false,
      logErrors: true,
      integrations: [new Sentry.BrowserTracing()],
    });

    if (props.initialPage.props?.auth) {
      // もしログインしてたらユーザーIDをセットする
      Sentry.setUser({ id: props.initialPage.props?.auth.id });
    }

    app
    .use(plugin)
      .mount(el);

    return app;
  }
});

 終わりに

もう12月になっちゃいました。

今年は全く成長できた気がしてません。

来年は少しでも成長できたといいたいですね。

今これいうとまとめのブログで言うことなくなるので、このへんで終わり。