产品中的 symfony dev.log
symfony dev.log in prod
我在 Whosebug 中有类似的问题,但没有看到答案。
我目前的生产环境中有 dev.log 和 prod.log,我不明白为什么。我应该只有 prod.log.
我的dev.log只包含这个(每2分钟重复一次):
[2017-04-21 17:50:02] event.DEBUG: Notified event "console.command" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure". [] []
[2017-04-21 17:50:02] doctrine.DEBUG: SELECT e0_.id AS id0, e0_.name AS name1, e0_.progress AS progress2, e0_.path AS path3, e0_.data AS data4, e0_.created_at AS created_at5, e0_.updated_at AS updated_at6, (SELECT COUNT(e1_.id) AS dctrn__1 FROM export e1_ WHERE e1_.progress > 0 AND e1_.progress < 100) AS sclr7, e0_.organization_id AS organization_id8, e0_.owner_id AS owner_id9 FROM export e0_ WHERE e0_.progress = 0 HAVING sclr7 = 0 LIMIT 1 [] []
[2017-04-21 17:50:02] event.DEBUG: Notified event "console.terminate" to listener "Symfony\Bundle\SwiftmailerBundle\EventListener\EmailSenderListener::onTerminate". [] []
这是我的 config_dev.yml 和 config_prod.yml 独白配置:
config_dev:
monolog:
handlers:
main:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.log
level: debug
config_prod:
monolog:
handlers:
main_critical:
type: fingers_crossed
action_level: critical
handler: buffered_critical
buffered_critical:
type: buffer
handler: swift_critical
swift_critical:
type: swift_mailer
from_email: %error_mail_sender%
to_email: %error_mail_recipients%
subject: An error occurred
level: debug
main_error:
type: fingers_crossed
action_level: error
handler: grouped_error
grouped_error:
type: group
members: [streamed]
streamed:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
我注意到日志显示控制台命令发生,并且有一个 cronjob 每两分钟运行一次命令,但我不知道为什么会这样 dev.log...
非常感谢您的帮助,
干杯
默认情况下,Symfony 命令在开发环境中执行,这就是为什么它使用您的开发环境配置将各种日志存储在 dev.log 文件中的原因。
你需要在你的 Symfony 命令中使用 --env=prod
标志来明确告诉 Symfony 运行 在生产环境中使用这个命令。
注意:
因此,如果您通过 cron 运行ning 命令,请在命令末尾添加 --env=prod
标志。
此回答是对@cerad 评论的解释。
我在 Whosebug 中有类似的问题,但没有看到答案。
我目前的生产环境中有 dev.log 和 prod.log,我不明白为什么。我应该只有 prod.log.
我的dev.log只包含这个(每2分钟重复一次):
[2017-04-21 17:50:02] event.DEBUG: Notified event "console.command" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure". [] []
[2017-04-21 17:50:02] doctrine.DEBUG: SELECT e0_.id AS id0, e0_.name AS name1, e0_.progress AS progress2, e0_.path AS path3, e0_.data AS data4, e0_.created_at AS created_at5, e0_.updated_at AS updated_at6, (SELECT COUNT(e1_.id) AS dctrn__1 FROM export e1_ WHERE e1_.progress > 0 AND e1_.progress < 100) AS sclr7, e0_.organization_id AS organization_id8, e0_.owner_id AS owner_id9 FROM export e0_ WHERE e0_.progress = 0 HAVING sclr7 = 0 LIMIT 1 [] []
[2017-04-21 17:50:02] event.DEBUG: Notified event "console.terminate" to listener "Symfony\Bundle\SwiftmailerBundle\EventListener\EmailSenderListener::onTerminate". [] []
这是我的 config_dev.yml 和 config_prod.yml 独白配置:
config_dev:
monolog:
handlers:
main:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.log
level: debug
config_prod:
monolog:
handlers:
main_critical:
type: fingers_crossed
action_level: critical
handler: buffered_critical
buffered_critical:
type: buffer
handler: swift_critical
swift_critical:
type: swift_mailer
from_email: %error_mail_sender%
to_email: %error_mail_recipients%
subject: An error occurred
level: debug
main_error:
type: fingers_crossed
action_level: error
handler: grouped_error
grouped_error:
type: group
members: [streamed]
streamed:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
我注意到日志显示控制台命令发生,并且有一个 cronjob 每两分钟运行一次命令,但我不知道为什么会这样 dev.log...
非常感谢您的帮助, 干杯
默认情况下,Symfony 命令在开发环境中执行,这就是为什么它使用您的开发环境配置将各种日志存储在 dev.log 文件中的原因。
你需要在你的 Symfony 命令中使用 --env=prod
标志来明确告诉 Symfony 运行 在生产环境中使用这个命令。
注意:
因此,如果您通过 cron 运行ning 命令,请在命令末尾添加 --env=prod
标志。
此回答是对@cerad 评论的解释。