logs()->create([ 'level' => $data['level'] ?? 'info', 'message' => $data['message'], 'context' => $data['context'] ?? null, ]); // 同步更新機台最後活耀時間與狀態 $machine->update([ 'last_heartbeat_at' => now(), 'status' => $this->resolveStatus($data), ]); return $log; } /** * 根據日誌內容判斷機台是否應標記成錯誤 */ protected function resolveStatus(array $data): string { if (isset($data['level']) && $data['level'] === 'error') { return 'error'; } return 'online'; } }