adit
adit

Reputation: 33654

How to stop Symfony from logging Doctrine's sql queries?

I have a weird issue, when I checked my app/log/dev.log I can see almost all of my queries in my dev.log being logged in real time:

[2015-01-27 06:57:22] doctrine.DEBUG: SELECT t0.username A ....
[2015-01-27 06:57:23] doctrine.DEBUG: SELECT t0.username A ...
[2015-01-27 06:57:23] doctrine.DEBUG: SELECT s0_.id ......

I have no idea why this is happening, since I am running the site on production mode also when I check monolog in my config.yml, this is what I see:

monolog:
    handlers:
        pictures:
            type: stream
            path: %kernel.logs_dir%/pictures_%kernel.environment%.log
            level: info
        instagram:
            type: stream
            path: %kernel.logs_dir%/instagram_%kernel.environment%.log
            level: info

here's what my config_dev.yml looks like:

imports:
    - { resource: config.yml }

framework:
    router:   { resource: "%kernel.root_dir%/config/routing_dev.yml" }
    profiler: { only_exceptions: false }

web_profiler:
    toolbar: true
    intercept_redirects: false

monolog:
    handlers:
        main:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
        firephp:
            type:  firephp
            level: info

assetic:
    use_controller: false

hip_mandrill:
    disable_delivery: true    

any idea how this could be happening?

Upvotes: 7

Views: 14112

Answers (3)

Dany Des
Dany Des

Reputation: 81

As I struggled with the same problem and my .log file was increasing its size the straight solution was when running the consumer use the flag --no-debug

php bin/console messenger:consume async_email_handler --no-debug

Upvotes: 2

Michael Sivolobov
Michael Sivolobov

Reputation: 13340

You should use prod env on your production server. In the prod env doctrine's logging is disabled by default.

But if you want to disable logging at all (in all environments) you need to set up a config.yml like that:

doctrine:
    dbal:
        connections:
            conn1:
                driver: ...
                ...
                logging: false
                profiling: false

Reference: https://symfony.com/doc/current/bundles/DoctrineBundle/configuration.html

Upvotes: 16

Dahomz
Dahomz

Reputation: 3801

I encountered a similar issue with dev.log being generated on prod environment. I figured out from the log entries that what was causing my issue was a scheduled cron job calling a custom symfony command. Modifying the entry to app/console with --env=prod for my crontab since stopped dev.log being generated. i.e.

app/console --env=prod custom:command 

Must have missed that section of the book :)

Upvotes: 6

Related Questions