Настройте Symfony Monolog для ведения журналов Apache

Я использую приведенную ниже конфигурацию Monolog в Symfony 2 для регистрации меньших ошибок в файлах в /app/logs/ каталог и отправлять электронные письма для всех критических ошибок.

monolog:
handlers:
main:
level: error
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_remaining.log"channels: ["!doctrine", "!request", "!security"]
request:
type: fingers_crossed
handler: requests
requests:
type:    group
members: [request_critical, request_error]
request_critical:
level: critical
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_request_critical.log"channels: [request]
request_error:
level: error
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_request.log"channels: [request]
doctrine:
level: error
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_doctrine.log"channels: [doctrine]
security:
level: error
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_security.log"channels: [security]
mail:
type: fingers_crossed
action_level: critical
handler: buffered
buffered:
type: buffer
handler: swift
swift:
type: swift_mailer
from_email: "%mailer_from_address%"to_email:   "%development_address%"subject:    A critical error occurred

Моя проблема в том, что кажется, что эта установка предотвращает собственный набор журналов Apache в конфигурации Virtual Host:

<VirtualHost *:80>
<Directory "/mnt/vm/vm.healthcare-cpd/web">
Header set Access-Control-Allow-Origin "*"Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>

php_flag log_errors on
php_value error_reporting 2147483647

ErrorLog ${APACHE_LOG_DIR}/vm.healthcare-cpd.error.log
CustomLog ${APACHE_LOG_DIR}/vm.healthcare-cpd.access.log combined
php_value error_log ${APACHE_LOG_DIR}/vm.healthcare-cpd.php.error.log
</VirtualHost>

${APACHE_LOG_DIR}/vm.healthcare-cpd.error.log а также {APACHE_LOG_DIR}/vm.healthcare-cpd.php.error.logфайлы пустые, что, как мне кажется, вызвано Монологом.

Итак, мой вопрос: как настроить Monolog в Symfony 2 так, чтобы протоколирование Apache и PHP продолжало работать параллельно с журналированием Monolog?

5

Решение

Журнал ошибок Apache не имеет ничего общего с журналом приложений (Monolog).

Проблема здесь в том, что если вы обрабатываете ошибки, перехватывая ошибки или исключения php в вашем php-коде, или Symfony перехватывает их и преобразовывает их в правильный ответ (что на самом деле делает), Apache никогда не узнает, что что-то не так, и поэтому не регистрирует ошибки. что-нибудь к его журналу ошибок.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]