splash/sonata-admin-monolog-bundle

为Monolog提供Doctrine DBAL处理器,并实现Sonata Admin。这个Bundle受到LexikMonologBrowserBundle的启发。

安装: 622

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 17

开放问题: 0

类型:symfony-bundle

v1.0.2 2016-09-27 09:41 UTC

This package is auto-updated.

Last update: 2024-09-09 20:44:39 UTC


README

Build Status Latest Stable Version

此Symfony bundle提供了一个Doctrine DBAL处理器,用于集成Monolog Web UI以显示日志条目到Sonata Admin UI。

您可以根据下面的截图列出、过滤和分页日志

Log entries listing Log entry show

由于此bundle在每个日志被触发时都会查询数据库,因此它适用于小型和中型项目,但如果您有数十亿的日志,请考虑使用特定的日志服务器。

此Bundle受到LexikMonologBrowserBundle的启发

要求

  • Symfony 3.4+ | 4.0+ | 4.2+
  • Sonata-Project/AdminBundle

安装

使用composer进行安装

    ...
    "require": {
        ...
        "splash/sonata-admin-monolog-bundle": "@stable",
        ...
    },
    ...

接下来,请确保在您的Kernel.php文件中启用这些bundle

public function registerBundles()
{
    return array(
        // SPLASH SONATA ADMIN MONOLOG BUNDLE
        new new Splash\SonataAdminMonologBundle\SplashSonataAdminMonologBundle(),
        // ...
    );
}

基本配置

然后,您可以配置Monolog使用Doctrine DBAL处理器

# app/config/config.yml # or any env
monolog:
    handlers:
        database_handler:
            type:         service
            id:           splash.sonata.admin.monolog.handler
            channels:     ["!event"]

高级配置

如果您不想使用默认的Doctrine实体管理器,您需要配置用于处理器的Doctrine DBAL连接。

您有两种方法可以做到这一点

通过使用现有的Doctrine连接

注意:我们将loggingprofiling选项设置为false,以避免DI循环引用。

# app/config/config.yml
doctrine:
    dbal:
        connections:
            default:
                ...
            monolog:
                driver:    pdo_sqlite
                dbname:    monolog
                path:      %kernel.root_dir%/cache/monolog2.db
                charset:   UTF8
                logging:   false
                profiling: false

splash_sonata_admin_monolog:
    doctrine:
        connection_name: monolog

通过为bundle创建自定义Doctrine连接

# app/config/config.yml
splash_sonata_admin_monolog:
    doctrine:
        connection:
            driver:      pdo_sqlite
            driverClass: ~
            pdo:         ~
            dbname:      monolog
            host:        localhost
            port:        ~
            user:        root
            password:    ~
            charset:     UTF8
            path:        %kernel.root_dir%/db/monolog.db # The filesystem path to the database file for SQLite
            memory:      ~                               # True if the SQLite database should be in-memory (non-persistent)
            unix_socket: ~                               # The unix socket to use for MySQL

请参阅Doctrine DBAL连接配置以获取更多详细信息。

现在您的数据库已配置,您可以通过运行以下命令生成日志条目表的模式

php bin/console doctrine:schema:update --force

翻译

如果您想使用此bundle中提供的默认翻译,请确保您已启用配置中的翻译器

# app/config/config.yml
framework:
    translator: ~

贡献

欢迎任何Pull请求!

此模块是SplashSync项目的一部分。