我有一个由2个记录器组成的MultipleLogger。第一个记录器将所有错误写入error.log,第二个记录器将所有消息写入debug.log。我想检查MultipleLogger是否记录了错误。有没有办法检查它?
您可以创建子记录器并将其他调试信息放在那里:
<?php
namespace Phalcon'Logger'Adapter;
class FileExt extends 'Phalcon'Logger'Adapter'File
{
...
public function log($message, $type = null) {
//YOUR ADDITIONAL DEBUG LOGIC HERE
parent::log($message, $type);
}
public function debug($message) {
//YOUR ADDITIONAL DEBUG LOGIC HERE
parent::debug($message);
}
public function error($message) {
//YOUR ADDITIONAL DEBUG LOGIC HERE
parent::error($message);
}
...
}
将新的记录器添加到 DI:
$di->setShared('logger', function() {
$logger = new Phalcon'Logger'Multiple();
$logger->push(new Phalcon'Logger'Adapter'FileExt('test.log'));
...
return $logger;
});
或者扩展Phalcon''Logger''Multiple并使用相同的方法将其放入DI中。