Внутри onBootstrap модуля создаю логгер:
use Zend\Log\Writer\Stream as LogWriterStream;
use Zend\Log\Formatter\Simple as LogFormatter;
$logger = new Logger(array(
'exceptionhandler' => true,
'errorhandler' => true,
'fatal_error_shutdownfunction' => true,
));
$filepath = './data/logs/php/' . date('Y-m-d') . '.log';
$writer = new LogWriterStream($filepath);
$formatter = new LogFormatter(null, 'd.m.Y H:i:s');
$writer->setFormatter($formatter);
$logger->addWriter($writer);
Логгер создаётся без ошибок и создаёт файл 2014-12-04.log.
Ошибки типа "Division by zero" или "Call to undefined function", логгер успешно отлавливает и пишет в файл.
При выбрасывании какого-либо исключения, отображается страница 500 с информацией об исключении, но в файл логер ничего не пишет. Из-за чего это происходит и как заставить логгер ловить исключения?
Нашёл вот такой ответ на SO
stackoverflow.com/questions/15271250/how-to-log-zf...
По сути здесь пишут свою реализацию функции, которая куда лучше реализована в самом Logger, и которая должна использоваться, если 'exceptionhandler' == true
https://github.com/zendframework/zf2/blob/master/l...