Log Throw Man 仕様書
1. 概要
エラーログをDiscordに通知するシンプルなロガーワーカー。各WorkerからService Binding経由で呼び出される。
1.1 アーキテクチャ
2. エンドポイント
| Method | Path | 説明 |
|---|---|---|
| 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_URL | Discord Webhook URL(Secret) |