我对 ZF3 很陌生,我不知道应该如何将记录器模块定义为服务以及如何在其他模块中使用(重用)它。从这个角度来看,官方文档很差。任何简短的例子都会很好。
问问题
141 次
1 回答
4
如果你想在 ZF 应用程序中使用 zend-log,安装后你需要做 2 件事:
在“模块”键下的应用程序配置中注册
Zend\Log
。在 global.php 或模块配置中为您的记录器添加配置
'log' => [ 'MyLogger' => [ 'writers' => [ 'stream' => [ 'name' => 'stream', 'priority' => \Zend\Log\Logger::ALERT, 'options' => [ 'stream' => '/tmp/php_errors.log', 'formatter' => [ 'name' => \Zend\Log\Formatter\Simple::class, 'options' => [ 'format' => '%timestamp% %priorityName% (%priority%): %message% %extra%', 'dateTimeFormat' => 'c', ], ], 'filters' => [ 'priority' => [ 'name' => 'priority', 'options' => [ 'operator' => '<=', 'priority' => \Zend\Log\Logger::INFO, ], ], ], ], ], ], ], ],
之后,只需从 Service Manager 中获取并使用它:
$logger = $container->get('MyLogger'); // <-- the key that you register in config above
$logger->info('Logging info message in the file');
您可能希望从 SM 获取记录器,然后将其注入您要使用的类中。
有一篇关于 Logging with zend-log的大神博文
于 2018-08-29T09:05:54.750 回答