メインコンテンツまでスキップ

Log Throw Man 仕様書

1. 概要

エラーログをDiscordに通知するシンプルなロガーワーカー。各WorkerからService Binding経由で呼び出される。

1.1 アーキテクチャ


2. エンドポイント

MethodPath説明
POST/エラーログ送信

リクエスト

interface LogRequest {
errorStack?: string; // スタックトレース
errorMessage?: string; // エラーメッセージ
requestPath?: string; // リクエストパス
workerName?: string; // 発生元Worker名
}

レスポンス

interface LogResponse {
success: boolean;
errorId?: string; // UUIDで生成されたエラーID
message?: string; // エラー時のメッセージ
}

3. Discord通知フォーマット

**エラーログ**
- **日時:** 2026/02/06 14:00:00
- **パス:** `/api/events`
- **エラーID:** `a1b2c3d4-...`
- **発生元:** `gateway-worker`

ファイル添付: error-log-{errorId}.txt(スタックトレース)


4. 呼び出し例

// 他Workerからの呼び出し
try {
// エラー発生
} catch (error) {
await c.env.LOGGER.fetch('https://log-throw-man/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
errorStack: error.stack,
errorMessage: error.message,
requestPath: c.req.path,
workerName: 'gateway-worker',
}),
});
}

5. 環境変数

変数名説明
DISCORD_WEBHOOK_URLDiscord Webhook URL(Secret)