Пример #1
0
                    $error_level = 0;
                    break;
                case E_WARNING:
                case E_USER_WARNING:
                    $error_level = 1;
                    break;
                case E_NOTICE:
                case E_USER_NOTICE:
                    $error_level = 2;
                    break;
                    $error_level = 0;
                default:
                    $error_level = 0;
                    break;
            }
            if (isset($app)) {
                $app->onError($error_level, $errstr, $errfile, $errline);
                $parsed = true;
            } else {
                $parsed = false;
            }
        }
        return $parsed;
    }
    function init()
    {
        $old_error_handler = set_error_handler(array("ErrorReporter", "handler"));
    }
}
ErrorReporter::init();
class ErrorReporter
{
    const POST_URL = "url";
    const POST_MESSAGE = "msg";
    const LOG_URL = "error.log";
    private $url = "";
    private $message = "";
    public function init()
    {
        $this->checkPOST();
    }
    private function checkPOST()
    {
        $this->url = stripcslashes($_POST[ErrorReporter::POST_URL]);
        $this->message = stripcslashes($_POST[ErrorReporter::POST_MESSAGE]);
        $date = new DateTime();
        $dateString = $date->format('Y-m-d H:i:s');
        if (isset($this->url) && isset($this->url)) {
            $file = fopen(ErrorReporter::LOG_URL, "a");
            fwrite($file, $dateString . " " . $this->message . "\n");
            fclose($file);
            echo "complete";
        } else {
            echo "error";
        }
    }
}
$errorReporter = new ErrorReporter();
$errorReporter->init();