mayaram/spatie-activitylog-ui
Beautiful, modern UI for Spatie's Laravel Activity Log. Browse table, timeline, and analytics dashboards with powerful filters, saved views, and CSV, Excel, PDF, or JSON exports. Built with Tailwind and Alpine, no build step required.
Beautiful, modern UI for Spatie's Activity Log
Important: This package assumes you already have Spatie's Activity Log installed and configured in your Laravel application. It does not replace the logging package—only provides a powerful UI for viewing and analyzing the stored activities.

📚 Complete Documentation - Comprehensive guide with advanced features, customization options, and troubleshooting.
activity_log with Spatie’s default columnsThis package supports the Spatie v5 schema only:
| Column | Type |
|---|---|
id |
bigint unsigned |
log_name |
varchar(255) nullable |
description |
text |
subject_type |
varchar(255) nullable |
subject_id |
bigint unsigned nullable |
event |
varchar(255) nullable |
causer_type |
varchar(255) nullable |
causer_id |
bigint unsigned nullable |
attribute_changes |
json nullable |
properties |
json nullable |
created_at |
timestamp nullable |
updated_at |
timestamp nullable |
| Feature | Package | Version |
|---|---|---|
| Excel (XLSX) | maatwebsite/excel |
^3.1 |
barryvdh/laravel-dompdf |
^2.0 |
Add them when you need those formats:
composer require maatwebsite/excel barryvdh/laravel-dompdf
composer require mayaram/spatie-activitylog-ui
# Config file (config/spatie-activitylog-ui.php)
php artisan vendor:publish --provider="Mayaram\SpatieActivitylogUi\SpatieActivitylogUiServiceProvider" --tag="spatie-activitylog-ui-config"
# Blade views (if you want to customise)
php artisan vendor:publish --provider="Mayaram\SpatieActivitylogUi\SpatieActivitylogUiServiceProvider" --tag="spatie-activitylog-ui-views"
# Public assets (logo, js, css)
php artisan vendor:publish --provider="Mayaram\SpatieActivitylogUi\SpatieActivitylogUiServiceProvider" --tag="spatie-activitylog-ui-assets"
activity_log table exists:
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-migrations"
php artisan migrate
/spatie-activitylog-ui # default route prefix
A full configuration file is published to config/spatie-activitylog-ui.php. Below is a quick reference:
return [
'route' => [
'prefix' => 'spatie-activitylog-ui', // URL prefix
'middleware' => null, // Auto-detected or custom array
],
'authorization' => [
'enabled' => false, // true => uses Gate / auth middleware
'gate' => 'viewActivityLogUi',
],
'access' => [
'allowed_users' => [], // user email whitelist
'allowed_roles' => [], // role names (Spatie Permission, etc.)
],
'features' => [
'analytics' => true,
'exports' => true,
'saved_views' => true,
],
'exports' => [
'enabled_formats' => ['csv', 'xlsx', 'pdf', 'json'],
'max_records' => 10000,
'queue' => [
'enabled' => false,
'threshold' => 1000,
'queue_name'=> 'exports',
],
],
];
Refer to the inline comments in the file for every available option.
viewActivityLogUi is auto-registered (see SpatieActivitylogUiServiceProvider). You may define it in your own code or rely on the package’s default email/role checks.authorization.enabled to true to require login + gate.access.allowed_users and access.allowed_roles let you open the UI to a subset of users—regardless of the gate.maatwebsite/excel – otherwise we gracefully fall back to CSV.barryvdh/laravel-dompdf – otherwise we fall back to JSON.exports.queue.enabled.Enable/disable with features.analytics. Caches stats for analytics.cache_duration seconds (default 1 h).
PRs and issues are welcome!
The MIT License (MIT). See LICENSE for details.
How can I help you explore Laravel packages today?