Plugins
Log Viewer
A Filament plugin for viewing and managing log files.
Developer Tool
Dark theme support
Yes
Multi language support
Yes
Compatible with the latest version
Supported versions: 3.x - 4.x
Documentation

Latest Stable Version License Downloads

#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
stack Standard Laravel stack 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 💄

Panel

#PHP dependencies 📦

  • Owenvoke Blade Fontawesome Latest Stable Version

#Develop dependencies 🔧

  • Friendsofphp Php Cs Fixer Latest Stable Version
  • Hermes Dependencies Latest Stable Version
  • Larastan Larastan Latest Stable Version
  • Orchestra Testbench Latest Stable Version
  • Pestphp Pest Latest Stable Version

#Problems? 🚨

Let me know about yours by opening an issue!

#Credits 🧑‍💻

#License 📄

MIT License (MIT). See License File.

Germán Boquizo Sánchez

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.

1
Plugins
13
Stars
Featured Plugins