neeckeloo / monolog-module
Monolog 集成到 Laminas
v1.3.0
2022-11-26 22:47 UTC
Requires
- php: ^8.0
- laminas/laminas-servicemanager: ^3.3.2
- monolog/monolog: ^2.0 || ^3.0
Requires (Dev)
- graylog2/gelf-php: ^1.1
- phpunit/phpunit: ^8.5.8 || ^9.3.7
README
将 Monolog 集成到 Laminas 项目的模块。
要求
安装
MonologModule 必须通过 Composer 安装。有关 Composer 文档,请参阅 getcomposer.org。
您可以从命令行安装模块
$ composer require neeckeloo/monolog-module
通过在您的 application.config.php
文件中添加 MonologModule
键来启用该模块。
用法
配置记录器
这是可以通过在服务管理器中使用键 Log\App
获取的记录器配置。还定义了一个名为 default
的通道名称,以标识记录与应用程序的哪个部分相关。
return [ 'monolog' => [ 'loggers' => [ 'Log\App' => [ 'name' => 'default', ], ], ], ];
添加处理器
记录器本身不知道如何处理记录。它委托给一些处理器。上面的代码在堆栈中注册了两个处理器,以便以两种不同的方式处理记录。
return [ 'monolog' => [ 'loggers' => [ 'Log\App' => [ 'name' => 'default', 'handlers' => [ 'stream' => [ 'name' => StreamHandler::class, 'options' => [ 'path' => 'data/log/application.log', 'level' => Logger::DEBUG, ], ], 'fire_php' => [ 'name' => FirePHPHandler::class, ], ], ], ], ], ];
使用处理器
如果您想在处理之前向记录添加额外的信息(标签、用户 IP...),则应添加一些处理器。上面的代码添加了两个处理器,将唯一标识符和当前请求 URI、请求方法和客户端 IP 添加到日志记录中。
return [ 'monolog' => [ 'loggers' => [ 'Log\App' => [ 'name' => 'default', 'handlers' => [ 'default' => [ 'name' => StreamHandler::class, 'options' => [ 'path' => 'data/log/application.log', 'level' => Logger::DEBUG, ], ], ], 'processors' => [ UidProcessor::class, WebProcessor::class, ], ], ], ], ];
您也可以将处理器添加到特定的处理器中。
return [ 'monolog' => [ 'loggers' => [ 'Log\App' => [ 'name' => 'default', 'handlers' => [ 'default' => [ 'name' => StreamHandler::class, 'options' => [ 'path' => 'data/log/application.log', 'level' => Logger::DEBUG, ], 'processors' => [ UidProcessor::class, WebProcessor::class, ], ], ], ], ], ], ];
检索记录器
一旦配置完成,您可以根据以下方式检索记录器的实例
$logger = $serviceManager->get('Log\App'); $logger->debug('debug message');
测试
$ vendor/bin/phpunit
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。