mcpField
S
serverpod-logging

serverpod-logging

github.com/serverpod開発3.3k44 回インストール1 日前に更新
リポジトリ

serverpod-logging について

リクエスト中のログ記録と保存先・出力の設定を扱う Serverpod 向けスキルです。serverpod MCP サーバーや Serverpod Insights でログを確認できます。

主な機能

  1. 01session.log() によるリクエストログ記録
  2. 02データベースとコンソールへの出力
  3. 03保持期間とクリーンアップの設定
  4. 04Serverpod Insights でのログ確認

活用シーン

  1. 01リクエスト中の警告や例外の記録
  2. 02Serverpod Insights で失敗・低速な呼び出しを確認

MCP 対応

ログは serverpod MCP サーバーを通じて読み取れます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/serverpod/serverpod --skill serverpod-logging

インストール後、Claude Code で/serverpod-loggingを入力して読み込まれたか確認します。

詳細

Serverpod のログ

リクエスト中に session.log() を使用します。セッションが終了すると、ログがフラッシュされます。ログはデータベースに保存されるか、コンソールに出力されます。

使用方法

session.log('Operation completed');

session.log('Something went wrong',
  level: LogLevel.warning,
  exception: e,
  stackTrace: stackTrace);

捕捉されなかったエンドポイントの例外は、serverpod_session_log にセッションの失敗として記録されます。

出力先

  • ログは serverpod MCP サーバーから確認できます。
  • データベース: テーブル serverpod_log、serverpod_query_log、serverpod_session_log(永続化が有効な場合)
  • コンソール: コンソールログが有効な場合(形式:text または json)

デフォルトでは、データベースが設定されている場合は永続ログが有効になり、PostgreSQL でのみ適用されます(SQLite には永続セッションログがありません)。データベースがない場合と development 実行モードでは、コンソールログが有効になります。コンソールの形式は、development では text、その他の実行モードでは json です。

設定

設定 YAML の sessionLogs: の下に記述します。

設定デフォルト
persistentEnabledtrue(DB がある場合)
consoleEnabledtrue(DB がない場合、または development の場合)
consoleLogFormattext(development)、json(その他のモード)
cleanupInterval24h
retentionPeriod90d
retentionCount100000

各設定には環境変数 SERVERPOD_SESSION_* もあります。環境変数は serverpod-configuration/references/environment-variables.md に記載されています。

ログテーブルが際限なく増加しないよう、保持期間を設定してください。機密データの記録は避けてください。

Serverpod Insights

ログの表示、検索、フィルタリングや、失敗した呼び出し、遅い呼び出しの調査に使用できるコンパニオンアプリです。Serverpod Cloud を使用すると、自動的に利用できます。

コメント