如何分析我的日志中的Symfony2(独白\记录器)

问题描述:

我用独白\记录仪的服务是这样的:如何分析我的日志中的Symfony2(独白记录器)

<service id="my_service" class="Acme\DemoBundle\Service\MyService"> 
    <tag name="monolog.logger" channel="mychannel" /> 
    <argument type="service" id="logger" /> 
    <argument type="service" ... /> 
</service> 

在服务:

use Monolog\Logger; 
class MyService{ 

private $logger; 


public function __construct(Logger $logger, ...) { 
    $this->logger = $logger; 
    ... 
} 

} 

我想用同样的通道,我在我的控制器服务的话,在我的控制,我有:

private function getLogger() { 
    return $this->get('monolog.logger.mychannel'); 
} 

我想通过我的日志级别来检索记录。 我该怎么做?

谢谢你。

+0

你需要解析日志吗?他们是文本文件。只要把它们解析出来。等级也在那里。如果你喜欢的话,你可以去找它。 –

我不需要解析日志,我只是想知道是否有错误或警告。

我在控制器中添加此:

private function hasLevelErrorHandler($type = "error") { 
    $handlers = $this->getLoggger()->getHandlers(); 
    $records = $handlers[0]->getRecords(); 

    if($type == "error") { 
     $levels = array(Logger::ERROR, Logger::CRITICAL, Logger::ALERT, Logger::EMERGENCY); 
    } else { 
     $levels = array(Logger::WARNING); 
    } 

    foreach($records as $record) { 
     if(in_array($record['level'], $levels)) { 
      return true; 
     } 
    } 
} 

这是个好办法吗? 谢谢。

[编辑] 我没有与app.php和app_dev.php相同的结果...

所以,我不知道我怎么能解析我的日志... 如果你有想法...

谢谢你。