I am quite novice with ZF3 and I can't figure out how should I define a logger module as a service and how could I use (reuse) it in other modules. The official documentation is poor from this point of view. Any short example would be good.
1条回答 默认 最新
- duanshan7261 2018-08-29 01:05关注
If you want to use zend-log in ZF app, after installation you need to do 2 thing:
To register
Zend\Log
in the application config under the 'modules' key.-
Add config for your logger in global.php or module config
'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, ], ], ], ], ], ], ], ],
after that just take it from Service Manager and use it:
$logger = $container->get('MyLogger'); // <-- the key that you register in config above $logger->info('Logging info message in the file');
You probably want to take logger from SM and than inject it in a class that you want to use it.
There is a god blog post about Logging with zend-log
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报