Ты задаешь текст:
$logger->info('Тест ошибки');
И получаешь его в логе:
2014-05-16T12:40:58+04:00 INFO (6): Тест ошибки
какой еще текст ты хочешь в нем получить?
Исключения фреймворка, и особый тип ошибок так не выловишь.
У нас используется следующий код
class Module
{
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$this->attachEventListeners($eventManager);
$eventManager->attach('dispatch.error', function ($event) use ($e) {
$sm = $e->getApplication()->getServiceManager();
$service = $sm->get('Application\Service\ErrorHandling');
$exception = $event->getResult()->exception;
if ($exception)
$service->logException($exception);
});
set_error_handler(function($c, $m, $f, $l) use ($e) {
$sm = $e->getApplication()->getServiceManager();
$service = $sm->get('Application\Service\ErrorHandling');
$service->logException(func_get_args());
});
register_shutdown_function(function() use ($e) {
$error = error_get_last();
$sm = $e->getApplication()->getServiceManager();
if ($error && ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR))
{
$service = $sm->get('Application\Service\ErrorHandling');
if (strpos($error['message'], 'Allowed memory size') == 0)
{
ini_set('memory_limit', (intval(ini_get('memory_limit'))+64)."M");
}
$service->logException($error);
}
});
}
....
}