Я использовал следующую конфигурацию для моего ведения журнала:
monolog:
handlers:
mail:
type: fingers_crossed
action_level: error
handler: grouped
grouped:
type: group
members: [streamed, buffered]
streamed:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.log
level: debug
# buffered is used to accumulate errors and send them as batch to the email address
buffered:
type: buffer
handler: swift
swift:
type: swift_mailer
from_email: [email protected]
to_email: [email protected]
subject: Error Occurred!
level: debug
Это отправляет письма следующим образом:
[2012-03-21 21:24:09] security.DEBUG: прочитайте SecurityContext с сеанс [] []
[2012-03-21 21:24:09] security.DEBUG: перезагрузка пользователя от пользователя поставщик. [] []
[2012-03-21 21:24:09] security.DEBUG: Имя пользователя "jakob.asdf" было перезагружается от поставщика. [] [] [2012-03-21 21:24:09] request.INFO: Соответствующий маршрут "_user_settings" (параметры: "_controller": "... Bundle\Controller\UserController:: settingsAction", "username": "Jakob.asdf", "_route": "_user_settings" ) [] []
[2012-03-21 21:24:09] request.ERROR: Symfony\Component\HttpKernel\Exception\NotFoundHttpException:... Bundle\Entity\User object не найден. (неперехваченное исключение) в /var/www/.../vendor/bundles/Sensio/Bundle/FrameworkExtraBundle/Request/ParamConverter/DoctrineParamConverter.php строка 50 [] []
[2012-03-21 21:24:09] security.DEBUG: Напишите SecurityContext в сеанс [] []
Мне бы очень хотелось иметь трассировку стека здесь или, по крайней мере, номер строки в моем контроллере, вызвавший ошибку. В противном случае это действительно много догадок о том, что могло пойти не так.
Теперь, вопрос: есть ли способ достичь такого еще более подробного ведения журнала?