fdekker / log-viewer-bundle
适用于 Symfony 6 及以上版本的日志查看器包
v1.3.2
2024-08-25 19:02 UTC
Requires
- php: >=8.1
- ext-json: *
- psr/clock: ^1.0
- symfony/config: ^6.0||^7.0
- symfony/dependency-injection: ^6.0||^7.0
- symfony/filesystem: ^6.0||^7.0
- symfony/finder: ^6.0||^7.0
- symfony/framework-bundle: ^6.0||^7.0
- symfony/http-foundation: ^6.0||^7.0
- symfony/http-kernel: ^6.0||^7.0
- symfony/routing: ^6.0||^7.0
- symfony/validator: ^6.0||^7.0
Requires (Dev)
- digitalrevolution/accessorpair-constraint: ^2.1.18
- digitalrevolution/phpunit-extensions: ^1.3
- digitalrevolution/phpunit-file-coverage-inspection: ^v2.0
- mikey179/vfsstream: ^1.6.11
- phpmd/phpmd: ^2.14
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-strict-rules: ^1.5
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^10.5 || ^11.0
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.6
- symfony/browser-kit: ^6.0||^7.0
- symfony/console: ^6.0||^7.0
- symfony/css-selector: ^6.0||^7.0
- symfony/http-client: ^6.0||^7.0
- symfony/monolog-bridge: ^6.0||^7.0
- symfony/monolog-bundle: ^3.10
- symfony/phpunit-bridge: ^6.4||^7.0
- symfony/runtime: ^6.0||^7.0
- symfony/templating: ^6.0||^7.0
- symfony/twig-bundle: ^6.0||^7.0
- symfony/web-profiler-bundle: ^6.0||^7.0
- symfony/yaml: ^6.0||^7.0
- twig/twig: ^3.8.0
Suggests
- ext-zip: To use the zip download feature
- symfony/http-client: Required for the remote hosts feature
This package is auto-updated.
Last update: 2024-09-18 04:10:07 UTC
README
Symfony 的日志查看器
灵感来自 opcodesio/log-viewer for Laravel
日志查看器: 为您的 Symfony 应用提供的一个包。它提供用户友好的界面来读取、过滤和搜索日志文件。
默认情况下,它会读取位于 var/log
目录中的 Monolog 日志,但可以配置为从任何目录读取日志。
功能
- 📂 查看
%kernel.logs_dir%
目录中的所有 Monolog 日志, - 📂 查看其他类型的日志 - Apache、Nginx 或自定义日志,
- 🔍 搜索 日志,
- 🔍 通过日志级别(错误、信息、调试等)、通道、日期范围或日志内容包含或排除来 过滤,
- 🔍 同时 搜索 多个日志文件,
- 🌑 暗黑模式,
- 🕑 以本地时区显示日志条目,
- 🖥️ 支持 多个主机,
- 💾 从 UI 中 下载 或 删除 日志文件,
- ☎️ 为文件夹、文件和日志条目提供 API 访问,
入门
要求
- PHP 8.1+
- Symfony 6.0+ 或 7.0+
安装
使用 composer。
composer require fdekker/log-viewer-bundle
如果您不使用 Symfony Flex,则需要手动启用该包
# /config/bundles.php return [ // ... FD\LogViewer\FDLogViewerBundle::class => ['all' => true], ];
并通过创建文件 /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'); };
⚠ 通过在 /config/packages/security.php
中添加以下行来确保对您的日志的访问是安全的
return static function (SecurityConfig $security): void { ... $security->accessControl()->path('^/log-viewer')->roles(['ROLE_ADMIN']); };
安装包后,通过运行以下命令发布前端资源
php bin/console assets:install
使用
安装完成后,您可以直接在浏览器中访问 日志查看器。
默认情况下,它位于您域名的 /log-viewer
。
配置
默认配置: (配置参考)
fd_log_viewer: home_route: null log_files: monolog: type: monolog name: Monolog finder: in: "%kernel.logs_dir%" name: "*.log" depth: '== 0' ignoreUnreadableDirs: true followLinks: false downloadable: false deletable: false start_of_line_pattern: '/^\[\d{4}-\d{2}-\d{2}[^]]*]\s+\S+\.\S+:/' log_message_pattern: '/^\[(?P<date>[^\]]+)\]\s+(?P<channel>[^\.]+)\.(?P<severity>[^:]+):\s+(?P<message>.*)\s+(?P<context>[[{].*?[\]}])\s+(?P<extra>[[{].*?[\]}])\s+$/s' date_format: null hosts: localhost: name: Local host: null
阅读更多