Так все таки вопрос про логи или про ошибки.
Я бы смотрел на задачу по другому.
Во первых подключаете библиотеку для логирования(monolog), пишите свой хендлер, где добавляете все что вам надо к строке лога.
Во вторых на самом высоком уровне пишете
Try catch(\Throwable $e) блок, где в catch используете свой логгер для записи ошибки.