codebuds/easyadmin-log-viewer-bundle

为Symfony应用程序中的EasyAdmin 4提供的日志查看器包

0.0.2 2024-09-21 12:39 UTC

This package is auto-updated.

Last update: 2024-09-21 12:43:49 UTC


README

一个为EasyAdmin 4提供日志查看器界面的Symfony包,与Symfony 7和PHP 8.3兼容。

功能

  • 直接从您的EasyAdmin仪表板查看日志文件
  • 下载日志文件
  • 删除日志文件
  • 按级别和类型过滤日志条目
  • 可配置的路由前缀

要求

  • PHP 8.3+
  • Symfony 7+
  • EasyAdmin 4

安装

使用Composer安装该包

composer require codebuds/easyadmin-log-viewer-bundle

配置

将包添加到您的 config/bundles.php

return [
    // ...
    EasyAdminLogViewerBundle::class => ['all' => true],
];

创建配置文件 config/packages/easy_admin_log_viewer.yaml

easy_admin_log_viewer:
    route_prefix: '/admin'  # Default value, can be customized
    levels:
        - { level: 'INFO', class: 'info' }
        - { level: 'ERROR', class: 'danger' }
        - { level: 'CRITICAL', class: 'danger' }
        - { level: 'DEBUG', class: 'secondary' }

级别是从日志文件自动获取的。然后可以为每个级别设置一个CSS类。默认情况下,可以使用预定义的Bootstrap样式 primarysecondarysuccessdangerwarninginfolightdark

Twig组件

必须在twig_component.yaml配置文件中添加一个默认路径

twig_component:
    defaults:
				#...
        CodeBuds\EasyAdminLogViewerBundle\Twig\Components\: '@EasyAdminLogViewer/components/'

路由

以下需要添加到应用的routes.yaml配置文件中

easy_admin_log_viewer:
  resource: '@EasyAdminLogViewerBundle/config/routes.yaml'
  prefix: '%easy_admin_log_viewer.route_prefix%'

自定义路由前缀

您可以在配置中自定义路由前缀

easy_admin_log_viewer:
    route_prefix: '/custom-admin'

这将使所有日志查看器路由以/custom-admin开头,而不是默认的/admin

将日志查看器添加到仪表板

要查看日志文件,可以将路由添加到您的EasyAdmin仪表板控制器

<?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');
        ...
    }
}

安全

只有具有ROLE_ADMIN角色的用户可以访问日志查看器界面。请确保正确保护您的管理路由。

贡献

欢迎贡献!请随时提交Pull Request。

屏幕截图

列出所有日志文件

screen1.png

显示所有行

screen2.png

按类型过滤

screen3.png

按级别过滤

screen4.png