我有一个奇怪的问题,当我检查我的app / log / dev.log时,我几乎可以看到我的dev.log中的所有查询都是实时记录的:
[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 ......
我不知道为什么会这样,因为当我在config.yml中检查monolog时,我也在生产模式下运行网站,这就是我所看到的:
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
这是我的config_dev.yml的样子:
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
任何想法如何发生这种情况?
答案 0 :(得分:9)
您应该在生产服务器上使用prod
env。在prod
env doctrine中,默认情况下禁用日志记录。
但是如果你想要完全禁用日志记录(在所有环境中),你需要像这样设置config.yml
:
doctrine:
dbal:
connections:
conn1:
driver: ...
...
logging: false
profiling: false
答案 1 :(得分:6)
我遇到了dev.log
环境中生成prod
的类似问题。我从日志条目中发现导致我的问题的原因是调用自定义symfony命令的预定cron作业。自生成停止app/console
以来,为我的crontab修改了--env=prod
的{{1}}条目。即。
dev.log
一定错过了本书的那一部分:)