Symfony 生产日志
Symfony production logs
在 Symfony 3 中,我是否可以在不打开调试模式的情况下将所有错误写入生产日志?错误将包括 http 500 错误或应用程序错误或 php 由于错误标志在生产中设置为 false 而被静音的错误。
当前的生产日志配置是
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: info
channels: [!request, !event, !translation, !kernel, !security, !php, !snc_redis]
php:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_php.log"
level: warning
channels: [php]
您可以为此使用默认生产设置(取自 monolog-bundle recipe):
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_404s:
# regex: exclude all 404 errors from the logs
- ^/
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
此配置发生的情况是 Monolog 在请求期间缓冲所有消息,但仅在出现错误时才将它们写入日志。这样你就不会 "flood" 你的日志中一直有嘈杂的调试和信息消息。只有在请求过程中出现错误时,您才会获得完整的日志信息。
在 Symfony 3 中,我是否可以在不打开调试模式的情况下将所有错误写入生产日志?错误将包括 http 500 错误或应用程序错误或 php 由于错误标志在生产中设置为 false 而被静音的错误。
当前的生产日志配置是
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: info
channels: [!request, !event, !translation, !kernel, !security, !php, !snc_redis]
php:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_php.log"
level: warning
channels: [php]
您可以为此使用默认生产设置(取自 monolog-bundle recipe):
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_404s:
# regex: exclude all 404 errors from the logs
- ^/
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
此配置发生的情况是 Monolog 在请求期间缓冲所有消息,但仅在出现错误时才将它们写入日志。这样你就不会 "flood" 你的日志中一直有嘈杂的调试和信息消息。只有在请求过程中出现错误时,您才会获得完整的日志信息。