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 を独自のクラスで拡張し、(同じように) 装飾することができます。それを 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
  }
}
于 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 に答える