board === null) { return null; } return [ 'board_id' => $this->board->id, 'slug' => $this->board->slug, 'name' => $this->board->getLocalizedName(), ]; } /** * 중단 정보를 직렬화 안전한 배열로 반환합니다. * * 훅 인자는 큐 직렬화(HookArgumentSerializer)를 거쳐 Exception 객체는 * 보존되지 않으므로(null 대체), 활동이력 리스너에는 이 배열을 전달한다. * * @return array{failed_board: array{board_id: int, slug: string, name: string}|null, failed_at: int|null, total: int, failure_reason: string|null} */ public function toLogContext(): array { return [ 'failed_board' => $this->boardInfo(), 'failed_at' => $this->failedAt, 'total' => $this->total, 'failure_reason' => $this->getPrevious()?->getMessage(), ]; } }