探查器中的symfony2记录器

时间:2015-06-07 12:39:12

标签: symfony logging profiler

我在此论坛和其他许多人中查找了此信息,但我无法理解如何在分析器中记录消息。

我尝试记录来自控制器的消息。

CalendarController.php:

<?php

namespace DJU\CalendarBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse;

use Symfony\Component\Console\Event\ConsoleExceptionEvent;
use Psr\Log\LoggerInterface;



class CalendarController extends Controller
{
    protected $logger;
    public function __construct(LoggerInterface $logger) {
        $this->logger = $logger;
    }

    public function getweekAction() {
        $this->logger->info("this is a test message");
    }
}

根据我在symfony doc中所读到的内容,我还修改了config.yml

应用程序/配置/ config.yml

&#13;
&#13;
monolog:
    handlers:
        main:
            type:   stream
            path:   "%kernel.logs_dir%/%kernel.environment%.log"
            level:  debug
        console:
            type:   console
            bubble: false
            verbosity_levels:
                VERBOSITY_VERBOSE: INFO
                VERBOSITY_VERY_VERBOSE: DEBUG
            channels: ["!doctrine"]
        console_very_verbose:
            type:   console
            bubble: false
            verbosity_levels:
                VERBOSITY_VERBOSE: NOTICE
                VERBOSITY_VERY_VERBOSE: NOTICE
                VERBOSITY_DEBUG: DEBUG
            channels: ["doctrine"]
&#13;
&#13;
&#13;

这是来自config_dev.yml的简单复制粘贴。

探查器中不显示任何日志。

有什么建议吗?

谢谢

2 个答案:

答案 0 :(得分:2)

如果你在控制器类中使用构造函数,那么你应该使用controller as service在那里注入logger。 通常,如果您想从控制器调用记录器服务,您只需从容器中获取它:

class CalendarController extends Controller
{ 
    public function getweekAction() {
        $this->get('logger')->info("this is a test message");
    }
}

答案 1 :(得分:0)

什么版本的symfony?如果您使用的是symfony 2.6或更高版本,则可以dump('some log');,它将出现在探查器中。

http://symfony.com/blog/new-in-symfony-2-6-vardumper-component