splash / sonata-admin-monolog-bundle
为Monolog提供Doctrine DBAL处理器,并实现Sonata Admin。这个Bundle受到LexikMonologBrowserBundle的启发。
v1.0.2
2016-09-27 09:41 UTC
Requires
- php: >=5.3.2
- knplabs/knp-paginator-bundle: >=2.3
- symfony/framework-bundle: ~2.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-09 20:44:39 UTC
README
此Symfony bundle提供了一个Doctrine DBAL处理器,用于集成Monolog Web UI以显示日志条目到Sonata Admin UI。
您可以根据下面的截图列出、过滤和分页日志
由于此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连接
注意:我们将logging
和profiling
选项设置为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项目的一部分。