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';
}
}