ebittleman / monolog-zf2
zf2的Monolog包装器
1.1.0
2015-06-02 18:10 UTC
Requires
- monolog/monolog: ^1.13
- zendframework/zendframework: ~2.4
Requires (Dev)
- phpunit/phpunit: ^4.6
This package is not auto-updated.
Last update: 2024-09-28 17:43:47 UTC
README
此项目是Monolog日志记录器的基本包装,您可以在此处查看所有功能这里。
安装
安装包
composer require ebittleman/monolog-zf2
启用Zf2模块
更新您的应用程序配置以包括该模块。
return array(
'modules' => array(
...YOUR MODULES...,
'MonologZf2'
),
'module_listener_options' => array(
'config_glob_paths' => array(
...YOUR CONFIG PATHS...
),
'module_paths' => array(
...YOUR MODULES PATHS...
)
)
);
配置示例
以下配置将在服务管理器中提供2个不同的日志记录器,服务名称为数组的键。每个日志记录器都配置了处理器列表,每个处理器都有一个handlerClass
和args
,这些将被传递给处理器的构造函数。此示例可在/config/monolog.global.dist中找到。
<?php
use Monolog\Logger;
use Monolog\Handler\ErrorLogHandler;
return array(
'monolog' => array(
'defaultLogger' => 'Monolog\Log',
'logs' => array(
'Monolog\Log' => array(
'handlers' => array(
array(
'handlerClass' => 'Monolog\Handler\StreamHandler',
'args' => array(
'/tmp/log.log',
Logger::DEBUG
)
),
array(
'handlerClass' => 'Monolog\Handler\ErrorLogHandler',
'args' => array(
ErrorLogHandler::OPERATING_SYSTEM,
Logger::ERROR
)
)
)
),
'Monolog\ErrorLog' => array(
'handlers' => array(
array(
'handlerClass' => 'Monolog\Handler\ErrorLogHandler',
)
)
)
),
)
);
用法
<?php
namespace MyNamespace;
class SomeFactory
{
public function __invoke($serviceLocator)
{
$defaultLogger = $serviceLocator->get('Monolog\Log');
$errorLogger = $serviceLocator->get('Monolog\ErrorLog');
return new Service($defaultLogger, $errorLogger);
}
}
初始化器依赖注入
以下服务将使用配置中定义的默认日志记录器进行初始化。要选择要注入的特定日志记录器,您需要取消注释服务的LOGGER常量。
<?php
namespace MyNamespace
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerAwareTrait;
class ExampleService implements LoggerAwareInterface
{
use LoggerAwareTrait;
// const LOGGER = 'Someother\Log';
public function serviceCall()
{
$this->logger->debug('write this to the log');
}
}