log = [ 'time' => $activity->created_at->diffForHumans(), 'datetime' => $activity->created_at->format('Y-m-d H:i:s'), 'level' => $this->getLevel($activity->description), 'manifest' => ActivityFormatter::getFriendlyModelName($activity->subject_type), 'description' => ucfirst($activity->description), 'causer' => $activity->causer ? $activity->causer->name : 'System', ]; } private function getLevel(string $description): string { if (str_contains($description, 'deleted') || str_contains($description, 'failed')) { return 'CRIT'; } if (str_contains($description, 'updated')) { return 'MODI'; } return 'INFO'; } /** * Get the channels the event should broadcast on. * * @return array */ public function broadcastOn(): array { return [ new PrivateChannel('admin.monitoring'), ]; } /** * The event's broadcast name. */ public function broadcastAs(): string { return 'activity.created'; } }