Reputation: 48
I think I turned off debug logging everywhere (in config.yml, config_dev, config_test):
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: [!event]
console:
type: stream
path: "%kernel.logs_dir%/console.log"
level: critical
channels: [!event]
but when I run phpunit it shows me debug log:
[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"} []
How to disable it?
Upvotes: 3
Views: 6527
Reputation: 106
If you try this:
console:
type: stream
path: "%kernel.logs_dir%/console.log"
level: critical
channels: []
Then it should be fine. I also had some issues with that, i just commented it out for my needs. If you still want some debugging for doctrine, just put !doctrine in the brackets. If i get you right, thats what you need.
Upvotes: 7
Reputation: 1494
Test environment seems to run in debug mode which is enabled in the application kernel $kernel = new AppKernel('dev', true);
in app_dev.php. Same goes for production evironment with one exception: the second argument should be false, which means that debug mode is disabled.
To get rid of the debug output in the test environment you need to pass the --no-debug
flag to your command, example:
php bin/console some:command --env=test --no-debug
For PHPUnit it will not work. You may need to override the kernel of your application for dev
environment:
Example from Kris Wallsmith blog:
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;
}
}
Upvotes: 3