
# デバッグモード

開発中にワーカーの詳細な出力を有効にするには、デバッグモードを有効にします。有効にすると、ジョブの取得、実行、状態遷移のそれぞれについて、追加情報がログに記録されます。

## デバッグモードを有効にする

`wp-config.php`で定数を定義します:

```php
define( 'QUEUETY_DEBUG', true );
```

## 機能

デバッグモードを有効にすると:

- ワーカーは、ジョブの取得試行、空のキュー、リソース確保による延期、スケジューラーの起動、レート制限の確認と取得解除、ジョブクラスのデシリアライズ、ハンドラーの解決について、`LogEvent::Debug`エントリーをログテーブルに記録します
- 各デバッグエントリーのコンテキストには、ハンドラーの`_worker`、キュー、`message`が含まれます。ジョブの開始、完了、失敗は通常のイベントとしてすでに記録されています

## デバッグ状態の確認

```php
use Queuety\Config;

if ( Config::debug() ) {
    // Debug mode is active
}
```

## 使用する場面

- **開発中。** ジョブとワークフローのライフサイクル全体を追跡して、動作を検証します。
- **失敗のトラブルシューティング。** ジョブが失敗した理由やワークフローが停止した理由を詳しく確認します。
- **パフォーマンスの調査。** デバッグの記録と通常の`completed`イベントの`duration_ms`を組み合わせ、[メトリクス](https://queuety.inline0.dev/ja/docs/features/metrics) APIを利用します。

本番環境では、ログテーブルが大量のデバッグエントリーで埋まらないよう、デバッグモードを無効にしてください。デバッグエントリーは`Queuety::purge_logs()`でログを消去するまで残り、自動では削除されません。
