0

我有一个由 2 个记录器组成的 MultipleLogger。第一个记录器将所有错误写入error.log,第二个记录器将所有消息写入debug.log。我想检查 MultipleLogger 是否记录了错误。有什么方法可以检查吗?

4

1 回答 1

0

您可以创建子记录器并在其中放置其他调试信息:

<?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 中。

于 2014-07-16T13:54:37.733 回答