我在此论坛和其他许多人中查找了此信息,但我无法理解如何在分析器中记录消息。
我尝试记录来自控制器的消息。
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
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;
这是来自config_dev.yml的简单复制粘贴。
探查器中不显示任何日志。
有什么建议吗?
谢谢
答案 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