Log Viewer
A Filament plugin for viewing and managing log files.
Author:
Germán Boquizo Sánchez
Documentation
#Summary
This package allows you to manage and keep track of each one of your log files in Filament panels.
Based on ARCANEDEV LogViewer.
#Starting 🚀
#Prerequisites 📋
- Composer.
- PHP version 8.3 or higher.
#Running 🛠️
Install the package via composer:
composer require gboquizosanchez/filament-log-viewer
And register the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugin(\Boquizo\FilamentLogViewer\FilamentLogViewerPlugin::make())
You can also publish the configuration file to customize the package:
php artisan vendor:publish --provider="Boquizo\FilamentLogViewer\FilamentLogViewerServiceProvider"
[!IMPORTANT] In v4 it's necessary to set up a custom theme following the instructions in the Filament Docs first.
After setting up the custom theme, you need to add this line, if not, the plugin will not work properly.
@source '../../../../vendor/gboquizosanchez/filament-log-viewer/resources/views/**/*.blade.php';
#🔧 Drivers
By default, the plugin uses LOG_CHANNEL as the driver.
To override this behavior, set the environment variable in your .env file:
FILAMENT_LOG_VIEWER_DRIVER=raw
#📌 Available Drivers
| Driver | Description |
|---|---|
| daily | Default driver used by the plugin |
| single | Standard Laravel single driver |
| raw | Only available when explicitly using FILAMENT_LOG_VIEWER_DRIVER; shows all log files |
👉 Note:
If FILAMENT_LOG_VIEWER_DRIVER is not defined, the plugin will continue using LOG_CHANNEL.
#Example .env configuration
Use the default LOG_CHANNEL (daily):
LOG_CHANNEL=daily
Or override to use raw with FILAMENT_LOG_VIEWER_DRIVER:
FILAMENT_LOG_VIEWER_DRIVER=raw
#Others configurations
->plugins([
\Boquizo\FilamentLogViewer\FilamentLogViewerPlugin::make()
->navigationGroup('System')
->navigationSort(2)
->navigationIcon(Heroicon::OutlinedDocumentText)
->navigationLabel('Log Viewer')
->authorize(fn (): bool => auth()->user()->can('view-logs')),
// Other plugins
])
#Custom Pages Configuration
You can customize the plugin pages by extending the base classes:
// app/Filament/Pages/CustomListLogs.php
<?php
namespace App\Filament\Pages;
use Boquizo\FilamentLogViewer\Pages\ListLogs as BaseListLogs;
use Filament\Tables\Table;
use Filament\Support\Icons\Heroicon;
class CustomListLogs extends BaseListLogs
{
protected static ?string $navigationLabel = 'Application Logs';
protected static ?string $navigationGroup = 'Monitoring';
public function table(Table $table): Table
{
return parent::table($table)
->defaultPaginationPageOption(25)
->poll('30s'); // Auto-refresh every 30 seconds
}
}
// app/Filament/Pages/CustomViewLog.php
<?php
namespace App\Filament\Pages;
use Boquizo\FilamentLogViewer\Pages\ViewLog as BaseViewLog;
use Filament\Actions\Action;
class CustomViewLog extends BaseViewLog
{
protected function getHeaderActions(): array
{
return array_merge(
parent::getHeaderActions(),
[
Action::make('export')
->label('Export to CSV')
->icon(Heroicon::OutlinedArrowDownTray)
->action(fn () => $this->exportToCsv()),
]
);
}
private function exportToCsv(): void
{
// Custom export logic
}
}
Then register your custom pages in the plugin configuration:
->plugins([
\Boquizo\FilamentLogViewer\FilamentLogViewerPlugin::make()
->listLogs(\App\Filament\Pages\CustomListLogs::class)
->viewLog(\App\Filament\Pages\CustomViewLog::class)
->navigationGroup('System')
->navigationSort(2)
->navigationIcon(Heroicon::DocumentText)
->navigationLabel('System Logs')
->authorize(function (): bool {
return auth()->user()->hasAnyRole(['admin', 'developer']);
}),
// Other plugins like FilamentEmailPlugin, etc.
])
#Screenshots 💄

#PHP dependencies 📦
#Develop dependencies 🔧
#Problems? 🚨
Let me know about yours by opening an issue!
#Credits 🧑💻
#License 📄
MIT License (MIT). See License File.
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission