薇贝洛佐罗夫 / monolog-gearman-handler
Monolog 日志库的 Gearman 处理程序
v0.7
2017-03-31 09:28 UTC
Requires
- ext-gearman: ^1.1
- monolog/monolog: ^1
This package is not auto-updated.
Last update: 2024-09-29 02:13:29 UTC
README
Monolog 处理程序,用于将日志发送到 Gearman。这可能对在另一台机器上异步记录日志非常有用。
要求
从包名中可以看出,没有 Gearman PHP 扩展 ,此包将毫无用处。由于 Composer 无法安装它,您需要自行安装。
安装
composer require vbelozyorov/monolog-gearman-handler
这将安装此包本身,如果尚未安装,还将安装 Monolog。
配置
因为处理程序构造函数需要 Gearman 客户端,而 Gearman 客户端又需要 Gearman 服务器的地址和端口号,所以当初始化日志记录器时,您需要提供所有这些信息。
以下是为 Symfony2 准备的 YAML 配置示例
services: gearman.client: class: GearmanClient calls: - [addServer, [%logs.gearman_host%, %logs.gearman_port%]] monolog.gearman_handler: class: Monolog\Handler\GearmanHandler arguments: - '@gearman.client' calls: - [setPrefix, ['project_alias']] monolog: channels: [gearman] handlers: gearman: type: service id: monolog.gearman_handler level: debug channels: [gearman] main: channels: ['!gearman']
在此示例中,注册了一个名为 gearman 的单独的 Monolog 通道。默认情况下,在 Symfony 应用程序中使用的处理程序 main 排除了这个新通道。这样,诸如 kernel.debug 的事件日志就不会被发布在那里。
如何使用此配置获取 Gearman 日志记录器
$logger = $this->getContainer()->get('monolog.logger.gearman');