Log Viewer: a bundle for your Symfony app. It provides a user-friendly UI to read, filter and search log files.
Out of the box it will read your Monolog logs in the var/log
directory, but can be configured to
read logs from any directory.
- π View all the Monolog logs in the
%kernel.logs_dir%
directory, - π View other types of logs - Apache, Nginx, or custom logs,
- π Search the logs,
- π Filter by log level (error, info, debug, etc.), by channel, date range or log content inclusion or exclusion,
- π Search multiple log files at once,
- π Dark mode,
- π₯οΈ Multiple host support,
- πΎ Download or delete log files from the UI,
- βοΈ API access for folders, files & log entries,
- PHP 8.1+
- Symfony 6.0+ or 7.0+
Use composer.
composer require fdekker/log-viewer-bundle
If you don't use Symfony Flex, you'll need to manually enable the bundle:
# /config/bundles.php
return [
// ...
FD\LogViewer\FDLogViewerBundle::class => ['all' => true],
];
And add the route by creating file /config/routes/fd_log_viewer.php
:
<?php
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
return static function (RoutingConfigurator $routingConfigurator): void {
$routingConfigurator->import('.', 'fd_symfony_log_viewer')->prefix('/log-viewer');
};
β Ensure access to your logs are secure by adding the line below to /config/packages/security.php
:
return static function (SecurityConfig $security): void {
...
$security->accessControl()->path('^/log-viewer')->roles(['ROLE_ADMIN']);
};
After installing the package, publish the front-end assets by running:
php bin/console assets:install
Once the installation is complete, you will be able to access Log Viewer directly in your browser.
By default, it is available at: /log-viewer
on your domain.