Laravel有一个很好的静态记录器接口我想用(http://four.laravel.com/docs/errors#logging)
我想要一个就像那个,但要从Zend Framework 2的范围中使用。更具体地说,我希望所有登录源代码的地方都只是:
Log::alert('string');
Log::debug('string');
是否有现有包裹?我可以自己写/扩展吗?我可以从Laravel中提取代码库吗?
答案 0 :(得分: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");
来源:
答案 1 :(得分:2)
您可以使用您自己的类扩展Zend \ Log \ Logger并进行装饰(就像使用相同的方法)。您甚至可以将其添加到Service Manager的服务中并获取它。
$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
}
}
答案 2 :(得分:0)
你的意思是这样吗?
\Zend\Debug\Debug::dump('string');
或http://framework.zend.com/manual/2.0/en/modules/zend.log.overview.html