2

Laravel 有一个不错的静态记录器界面,我想使用它(http://four.laravel.com/docs/errors#logging

我想要一个这样的,但要在 Zend Framework 2 的范围内使用。最具体地说,我希望所有登录源代码的地方都简单地是:

Log::alert('string'); 
Log::debug('string');

有现成的包吗?我可以自己编写/扩展吗?我可以从 Laravel 中提取代码库吗?

4

3 回答 3

4

班级:

class Log
{
    public static function __callStatic($method, $args)
    {
        $logger = new \Zend\Log\Logger();                           
        $writer = new \Zend\Log\Writer\Stream('data/logfile.txt');  
        $logger->addWriter($writer); 

        return $logger->$method($args[0]);
    }
};

致电:

Log::info("my Zendastatic Log Message");

资料来源:

于 2013-10-25T21:11:23.017 回答
2

你可以用你自己的类扩展 Zend\Log\Logger 并装饰它(就像同样的方式)。您甚至可以将其放入您的服务经理的服务中并获取它。

$myLogger = new MyNamespace\MyLogger();
$myLogger->info('Informational message');

class MyLogger extends Zend\Log\Logger
{
  public function __construct() 
  {
    $writer = new Zend\Log\Writer\Stream('data/logfile');  //define log file placement
    $this->addWriter($writer);             //add the writer
  }
}
于 2013-10-16T18:38:17.163 回答
0

你的意思是这样吗?

 \Zend\Debug\Debug::dump('string');

或者这个http://framework.zend.com/manual/2.0/en/modules/zend.log.overview.html

模块

于 2013-10-15T16:18:39.530 回答