codebuds / easyadmin-log-viewer-bundle
A Symfony bundle that provides a log viewer interface for EasyAdmin backends
Package info
github.com/DennisdeBest/EasyAdminLogViewerBundle
Type:symfony-bundle
pkg:composer/codebuds/easyadmin-log-viewer-bundle
Requires
- php: ^8.5
- easycorp/easyadmin-bundle: ^5.0
- symfony/framework-bundle: ^8.0
- symfony/twig-bundle: ^8.0
- symfony/ux-live-component: ^2.13|^3.0
- symfony/ux-twig-component: ^2.13|^3.0
Requires (Dev)
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.0
- rector/rector: ^2.0
- roave/security-advisories: dev-latest
- symfony/browser-kit: ^8.0
- symfony/phpunit-bridge: ^8.0
- symfony/routing: ^8.0
- symfony/yaml: ^8.0
README
A Symfony bundle that provides a log viewer interface for EasyAdmin backends.
Features
- Browse available log files from the admin
- View parsed log entries with multiline stack traces
- Filter log entries by channel and level
- Download log files
- Delete log files
- Configure the admin route prefix
Requirements
- PHP 8.5+
- Symfony 8+
- EasyAdmin 4.29+ or 5.x
Installation
Install the bundle with Composer:
composer require codebuds/easyadmin-log-viewer-bundle
Symfony Flex should enable the bundle automatically. Without Flex, add it to config/bundles.php:
return [ // ... CodeBuds\EasyAdminLogViewerBundle\EasyAdminLogViewerBundle::class => ['all' => true], ];
Configuration
The bundle works out of the box. If needed, create config/packages/easy_admin_log_viewer.yaml to override the defaults:
easy_admin_log_viewer: route_prefix: '/admin' levels: - { level: 'EMERGENCY', class: 'danger' } - { level: 'CRITICAL', class: 'danger' } - { level: 'ERROR', class: 'danger' } - { level: 'ALERT', class: 'danger' } - { level: 'WARNING', class: 'warning' } - { level: 'NOTICE', class: 'info' } - { level: 'INFO', class: 'info' } - { level: 'DEBUG', class: 'secondary' }
The configured class values map directly to Bootstrap contextual classes such as primary, secondary, success, danger, warning, info, light, and dark.
Routing
Routes are imported automatically by the bundle. You can customize the route prefix like this:
easy_admin_log_viewer: route_prefix: '/custom-admin'
Adding the Log Viewer to the Dashboard
Add the route to your EasyAdmin dashboard controller:
<?php namespace App\Controller\Admin; use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem; use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController; class DashboardController extends AbstractDashboardController { #[\Override] public function configureMenuItems(): iterable { // ... yield MenuItem::linkToRoute('Logs', 'fa fa-file-alt', 'easy_admin_log_viewer_list') ->setPermission('ROLE_ADMIN'); // ... } }
Security
Only users with ROLE_ADMIN can access the log viewer interface. Make sure your admin area is properly secured.



