如何检查Phalcon MultipleLogger是否记录了错误


How to check if Phalcon MultipleLogger logged an error?

我有一个由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中。