pishran/filament-laravel-log

Access laravel.log file through Filament admin panel

v1.1 2025-06-07 19:39 UTC

This package is auto-updated.

Last update: 2025-06-07 19:39:57 UTC


README

Features

  • Syntax highlighting
  • Light/ Dark mode
  • Quickly jump between start and end of the file
  • Refresh log contents
  • Clear log contents
  • Search multiple files in multiple directories
  • Ignored file patterns

Installation

You can install the package via composer:

composer require pishran/filament-laravel-log

Usage

Add the Pishran\FilamentLaravelLog\FilamentLaravelLogPlugin to your panel config.

use Pishran\FilamentLaravelLog\FilamentLaravelLogPlugin;

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            // ...
            ->plugin(
                FilamentLaravelLogPlugin::make()
            );
    }
}

Configuration

Customizing the navigation item

FilamentLaravelLogPlugin::make()
    ->navigationGroup('System Tools')
    ->navigationLabel('Logs')
    ->navigationIcon('heroicon-o-bug-ant')
    ->navigationSort(1)
    ->slug('logs')

Customizing the log search

FilamentLaravelLogPlugin::make()
  ->logDirs([
      storage_path('logs'),     // The default value
  ])
  ->excludedFilesPatterns([
      '*2023*'
  ])

Authorization

If you would like to prevent certain users from accessing the logs page, you should add a authorize callback in the FilamentLaravelLogPlugin chain.

FilamentLaravelLogPlugin::make()
  ->authorize(
      fn () => auth()->user()->isAdmin()
  )

Customizing the log page

To customize the log page, you can extend the Pishran\FilamentLaravelLog\Pages\ViewLog page and override its methods.

use Pishran\FilamentLaravelLog\Pages\ViewLog as BaseViewLog;

class ViewLog extends BaseViewLog
{
    // Your implementation
}
use App\Filament\Pages\ViewLog;

FilamentLaravelLogPlugin::make()
  ->viewLog(ViewLog::class)

Customizing the editor appearance

Publish the config file:

php artisan vendor:publish --tag="log-config"

This is the contents of the published config file:

<?php

return [
    /**
     * Maximum amount of lines that editor will render.
     */
    'maxLines' => 50,

    /**
     * Minimum amount of lines that editor will render.
     */
    'minLines' => 10,

    /**
     * Editor font size.
     */
    'fontSize' => 12
];