如何分析我的日志中的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');
}
我想通过我的日志级别来检索记录。 我该怎么做?
谢谢你。
答
我不需要解析日志,我只是想知道是否有错误或警告。
我在控制器中添加此:
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相同的结果...
所以,我不知道我怎么能解析我的日志... 如果你有想法...
谢谢你。
你需要解析日志吗?他们是文本文件。只要把它们解析出来。等级也在那里。如果你喜欢的话,你可以去找它。 –