PHP code example of shrestharikesh / log-viewer
1. Go to this page and download the library: Download shrestharikesh/log-viewer library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
shrestharikesh / log-viewer example snippets
use Illuminate\Support\Facades\Gate;
Gate::define('viewLogs', fn ($user) => $user->isAdmin());
Gate::define('downloadLogs', fn ($user) => $user->isSuperAdmin());
// config/log-explorer.php
'sources' => ['drivers' => ['local' => ['paths' => [
storage_path('logs'), '/var/log/nginx', '/var/log/custom-app',
]]]],
'files' => ['allowed_extensions' => ['log', 'txt'], 'hidden' => ['*.key', '.env*']],
'search' => ['mode' => 'auto'], // ripgrep → grep → PHP stream
'download'=> ['max_download_size_mb' => 100, 'rate_limit' => '10,1', 'audit' => true],
'streaming' => ['driver' => 'sse', 'max_duration' => 60],
use Vendor\LogExplorer\Facades\LogExplorer;
// Custom parser (Apache, syslog, your own format)
LogExplorer::extendParser('apache', ApacheLogParser::class);
// Custom source (future: SSH, S3, remote) — implement LogSourceInterface
LogExplorer::extendSource('s3', fn (array $cfg) => new S3LogSource($cfg));
// Custom authorization
LogExplorer::authorizeUsing(fn ($user, $ability, $file) => $user?->can($ability));
bash
composer vendor:publish --tag=log-explorer-config # config/log-explorer.php
php artisan vendor:publish --tag=log-explorer-assets # public/vendor/log-explorer
php artisan vendor:publish --tag=log-explorer-views # (optional) customise UI