munch / filament-logviewer
A beautiful Filament plugin to view, filter, and manage Laravel log files
1.1.0
2026-03-30 11:16 UTC
Requires
- php: ^8.4
- filament/filament: ^4.0
- illuminate/contracts: ^12.0|^13.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^10.0
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
README
A simple and powerful Filament plugin to view, filter, and manage Laravel log files directly from your admin panel.
Features
- ๐ View all log files from
storage/logs - ๐ Parse and display log entries with full context
- ๐ฏ Filter by log level (emergency, alert, critical, error, warning, notice, info, debug)
- ๐ Filter by date/time range
- ๐ Search across log messages and context
- ๐๏ธ Delete individual or multiple log files
- ๐งน Empty log files without deleting them
- ๐จ Color-coded log levels for easy identification
- โก Optimized for large log files
Requirements
- PHP 8.4+
- Laravel 12.0+
- Filament 4.0+
Installation
Option A: From Packagist (Recommended)
Install via composer:
composer require munch/filament-logviewer
Option B: Local Development
For local development, add this to your Laravel project's composer.json:
{
"repositories": [
{
"type": "path",
"url": "../filament-logviewer"
}
]
}
Then require the package:
composer require munch/filament-logviewer:@dev
Usage
Register the plugin in your Filament Panel Provider (e.g., app/Providers/Filament/AdminPanelProvider.php):
use Munch\FilamentLogviewer\FilamentLogviewerPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... other configuration ->plugins([ FilamentLogviewerPlugin::make(), ]); } }
The plugin will automatically register itself and appear in your Filament admin panel navigation under the "Settings" group.
Configuration
Publish the config file (optional):
php artisan vendor:publish --tag="filament-logviewer-config"
Customize the behavior in config/filament-logviewer.php:
return [ // Path to log files 'path' => storage_path('logs'), // Maximum file size to read (10MB default) 'max_file_size' => 10 * 1024 * 1024, // Entries per page 'per_page' => 50, // Navigation settings 'navigation' => [ 'group' => 'Settings', 'sort' => 100, 'icon' => 'heroicon-o-document-text', ], // Date format 'date_format' => 'Y-m-d H:i:s', // Log level colors 'levels' => [ 'emergency' => ['label' => 'Emergency', 'color' => 'danger'], 'alert' => ['label' => 'Alert', 'color' => 'danger'], 'critical' => ['label' => 'Critical', 'color' => 'danger'], 'error' => ['label' => 'Error', 'color' => 'danger'], 'warning' => ['label' => 'Warning', 'color' => 'warning'], 'notice' => ['label' => 'Notice', 'color' => 'info'], 'info' => ['label' => 'Info', 'color' => 'success'], 'debug' => ['label' => 'Debug', 'color' => 'gray'], ], ];
Features Detail
Log File Management
- View All Logs: Browse all log files in
storage/logswith file size and last modified date - Delete Logs: Remove individual or multiple log files
- Empty Logs: Clear log file contents without deleting the file
Log Viewing & Filtering
- Detailed View: Click "View" on any log file to see parsed entries
- Filter by Level: Filter logs by severity (emergency, alert, critical, error, warning, notice, info, debug)
- Date Range Filter: Filter logs by timestamp range
- Search: Global search across log messages and context
- Auto-refresh: Log viewer automatically refreshes every 30 seconds
Log Entry Display
Each log entry shows:
- Timestamp
- Log level (color-coded badge)
- Environment
- Message
- Context and stack traces (expandable)
Performance
- Large files (>10MB) are automatically handled with optimized reading
- Only the most recent entries are loaded for very large files
- Pagination prevents memory issues
- Configurable per-page limits
License
MIT License