Log Viewer by Germán Boquizo Sánchez
CommunityA Filament plugin for viewing and managing log files.
Author:
Germán Boquizo Sánchez
Package health
Automated checks of this plugin's Composer package
15 checks
- Passed: GitHub Actions pinned to SHA
- Skipped: GitLab CI includes pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Renovate MR responsiveness
- Passed: Dependabot or Renovate configured
- Passed: Dependency update cooldown configured
- Passed: Provides a security policy
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 1 days ago; last release 159 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
- Skipped: Current Laravel version supported
-
Passed:
Current PHP version supported
—
Constraint
^8.2|^8.3|^8.4|^8.5supports current PHP8.5. - Skipped: Current Symfony version supported
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
- Overview
- Version compatibility
- 📦 Installation
- 🔧 Drivers
- ⚙️ Configuration
- 🧩 Custom Pages
- 🧪 Testing
- Contributing
- Credits
- 📄 License
Log Viewer plugin for Filament panels
Browse, filter, and manage your Laravel log files directly inside your Filament panel.
#Overview
This plugin integrates a full-featured log viewer into any Filament panel. Browse log entries by level, filter by date, and inspect stack traces — all without leaving your admin interface.
Based on ARCANEDEV LogViewer.
#Version compatibility
| Plugin | Filament |
|---|---|
| 1.x | 3.x |
| 2.x | 4.x – 5.x |
Important
Version 1.x won't receive any further updates.
#📦 Installation
composer require gboquizosanchez/filament-log-viewer
Register the plugin in your panel provider (app/Providers/Filament/AdminPanelProvider.php):
->plugin(\Boquizo\FilamentLogViewer\FilamentLogViewerPlugin::make())
Optionally, publish the configuration file:
php artisan vendor:publish --provider="Boquizo\FilamentLogViewer\FilamentLogViewerServiceProvider"
Important
Filament v4+ requires a custom theme. Follow the Filament docs to set one up, then add this line to your theme's CSS source:
@source '../../../../vendor/gboquizosanchez/filament-log-viewer/resources/views/**/*.blade.php';
#🔧 Drivers
By default, the plugin reads from the LOG_CHANNEL defined in your .env. You can override this with a dedicated environment variable:
FILAMENT_LOG_VIEWER_DRIVER=raw
| Driver | Description |
|---|---|
daily |
Default — mirrors your LOG_CHANNEL=daily setting |
single |
Standard Laravel single-file driver |
raw |
Shows all log files; only available via FILAMENT_LOG_VIEWER_DRIVER |
If
FILAMENT_LOG_VIEWER_DRIVERis not set, the plugin falls back toLOG_CHANNEL.
#⚙️ Configuration
All plugin options are chainable:
->plugins([
\Boquizo\FilamentLogViewer\FilamentLogViewerPlugin::make()
->navigationGroup('System')
->navigationSort(2)
->navigationIcon(Heroicon::OutlinedDocumentText)
->navigationLabel('Log Viewer')
->timezone('Europe/Madrid')
->authorize(fn (): bool => auth()->user()->can('view-logs')),
])
#View in modal
By default, clicking "View" opens the log in a full page. You can enable modal mode instead.
Via .env:
FILAMENT_LOG_VIEWER_VIEW_IN_MODAL=true
Or programmatically:
->plugins([
\Boquizo\FilamentLogViewer\FilamentLogViewerPlugin::make()
->viewInModal(),
])
When using modal view, you may want to block direct URL access to the ViewLog page by registering a custom page that denies access:
->plugins([
\Boquizo\FilamentLogViewer\FilamentLogViewerPlugin::make()
->viewInModal()
->viewLog(\App\Filament\LogViewer\Pages\ViewLogDenied::class),
])
#🧩 Custom Pages
You can extend the built-in pages to add your own behaviour.
Custom log list — e.g. auto-refresh every 30 seconds:
// app/Filament/Pages/CustomListLogs.php
namespace App\Filament\Pages;
use Boquizo\FilamentLogViewer\Pages\ListLogs as BaseListLogs;
use Filament\Tables\Table;
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');
}
}
Custom log viewer — e.g. add an export action:
// app/Filament/Pages/CustomViewLog.php
namespace App\Filament\Pages;
use Boquizo\FilamentLogViewer\Pages\ViewLog as BaseViewLog;
use Filament\Actions\Action;
use Filament\Support\Icons\Heroicon;
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:
->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')
->timezone('Pacific/Auckland')
->authorize(fn (): bool => auth()->user()->hasAnyRole(['admin', 'developer'])),
])
#🧪 Testing
composer fix # fix code style
composer static # PHPStan analysis
composer coverage # run tests with coverage
#Contributing
Contributions are welcome!
- 🐛 Report bugs via GitHub Issues
- 💡 Suggest features or improvements
- 🔧 Submit pull requests with fixes or enhancements
#Credits
- Author: Germán Boquizo Sánchez
- Based on: ARCANEDEV LogViewer
- Contributors: View all contributors
#📄 License
This package is open-source software licensed under the MIT License.
The author
I am Germán, a web developer with experience in Laravel, FilamentPHP and PHP. I love programming, PHP and Laravel 🥰.
Contact me if you need some help with FilamentPHP or Laravel. I am always happy to help.
From the same author
Featured Plugins
A selection of plugins curated by the Filament team
Compact Theme
A theme that makes data-heavy panels easier to scan by fitting more useful information on each screen.
Filament
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight like Command Palette to your Filament Panel.
Dennis Koch