<?php
App::uses('ErrorHandler', 'Error');
App::uses('CakeLog', 'Log');
class AppErrorHandler extends ErrorHandler {
/**
* デバッグ時でもログファイルに出力する
*/
public static function handleError($code, $description, $file = null, $line = null, $context = null) {
$result = parent::handleError($code, $description, $file, $line, $context);
$debug = Configure::read('debug');
if($debug) {
if(error_reporting() !== 0) {
$errorConfig = Configure::read('Error');
list($error, $log) = self::mapErrorCode($code);
if($log !== LOG_ERR) {
$message = $error . ' (' . $code . '): ' . $description . ' in [' . $file . ', line ' . $line . ']';
if (!empty($errorConfig['trace'])) {
$trace = Debugger::trace(array('start' => 1, 'format' => 'log'));
$message .= "\nTrace:\n" . $trace . "\n";
}
CakeLog::write($log, $message);
}
}
}
return $result;
}
}