Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony3+;PHPUnit。如何在控制台中禁用调试日志?_Symfony_Logging_Phpunit_Monolog - Fatal编程技术网

Symfony3+;PHPUnit。如何在控制台中禁用调试日志?

Symfony3+;PHPUnit。如何在控制台中禁用调试日志?,symfony,logging,phpunit,monolog,Symfony,Logging,Phpunit,Monolog,我想我关闭了所有地方的调试日志记录(在config.yml、config\u dev、config\u test中): 但当我运行phpunit时,它会显示调试日志: [2016-06-19 16:53:29] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListe

我想我关闭了所有地方的调试日志记录(在config.yml、config\u dev、config\u test中):

但当我运行phpunit时,它会显示调试日志:

[2016-06-19 16:53:29] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"} []
[2016-06-19 16:53:29] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\DumpListener::configure"} []
[2016-06-19 16:53:29] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"kernel.request","listener":"Symfony\\Bundle\\FrameworkBundle\\EventListener\\TestSessionListener::onKernelRequest"} []
[2016-06-19 16:53:29] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"kernel.request","listener":"Symfony\\Bundle\\FrameworkBundle\\EventListener\\SessionListener::onKernelRequest"} []
[2016-06-19 16:53:29] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\FragmentListener::onKernelRequest"} []
[2016-06-19 16:53:29] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"} []
[2016-06-19 16:53:29] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"kernel.request","listener":"Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"} []
[2016-06-19 16:53:29] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"kernel.request","listener":"AppBundle\\EventListener\\LocaleListener::onKernelRequest"} []

如何禁用它?

测试环境似乎在调试模式下运行,该模式在应用程序内核中启用
$kernel=new-AppKernel('dev',true)在app_dev.php中。生产环境也是如此,但有一个例外:第二个参数应该是false,这意味着调试模式被禁用

要在测试环境中消除调试输出,需要将
--no debug
标志传递给命令,例如:
php-bin/console-some:command--env=test--no-debug

对于PHPUnit来说,这是行不通的。您可能需要覆盖
dev
环境的应用程序内核:

博客中的示例:

如果您尝试以下方法:

  console:
     type: stream
     path: "%kernel.logs_dir%/console.log"
     level: critical
     channels: []
那就好了。我也有一些问题,我只是出于我的需要把它注释掉了。 如果你还想对条令进行一些调试,就把它放进去吧!括号中的原则。
如果我没弄错,这就是您需要的。

您在什么环境下面临这个问题?我运行phpunit,所以我认为它是test env。它没有帮助。我运行的命令-“phpunit”,它不属于symfony。因此它没有像
--env
--no debug
这样的选项。但是调试日志不知何故来自Symfony>dev
environment/修改应用程序内核。例如,按照以下URL进行操作:。环境变量
SYMFONY_ENV
SYMFONY_DEBUG
工作,而不是cli标志?很高兴我能帮助dude!
class AppKernel extends Kernel
{
    // ...

    protected function initializeContainer()
    {
        static $first = true;

        if ('test' !== $this->getEnvironment()) {
            parent::initializeContainer();
            return;
        }

        $debug = $this->debug;

        if (!$first) {
            // disable debug mode on all but the first initialization
            $this->debug = false;
        }

        // will not work with --process-isolation
        $first = false;

        try {
            parent::initializeContainer();
        } catch (\Exception $e) {
            $this->debug = $debug;
            throw $e;
        }

        $this->debug = $debug;
    }
}
  console:
     type: stream
     path: "%kernel.logs_dir%/console.log"
     level: critical
     channels: []