neeckeloo/monolog-module

Monolog 集成到 Laminas

v1.3.0 2022-11-26 22:47 UTC

This package is auto-updated.

Last update: 2024-08-27 02:21:12 UTC


README

将 Monolog 集成到 Laminas 项目的模块。

Build Status Latest Stable Version Total Downloads Coverage Status

要求

安装

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)。有关更多信息,请参阅 许可证文件