Глобальный перехватчик ошибок
<?
function err_handler($errno, $errmsg, $filename, $linenum) {
if (!in_array($errno, Array(E_NOTICE, E_STRICT, E_WARNING))) {
$date = date('Y-m-d H:i:s (T)');
$f = fopen('errors.log', 'a');
if (!empty($f)) {
$err = "<error>\r\n";
$err .= " <date>$date</date>\r\n";
$err .= " <errno>$errno</errno>\r\n";
$err .= " <errmsg>$errmsg</errmsg>\r\n";
$err .= " <filename>$filename</filename>\r\n";
$err .= " <linenum>$linenum</linenum>\r\n";
$err .= "</error>\r\n";
flock($f, LOCK_EX);
fwrite($f, $err);
flock($f, LOCK_UN);
fclose($f);
}
}
}
set_error_handler('err_handler');
?>