public static function register()
    {
        set_error_handler(function ($errno, $errstr, $errfile, $errline) {
            self::handleError($errno, $errstr, $errfile, $errline);
        });
        set_exception_handler(function ($e) {
            self::handleException($e);
        });
        register_shutdown_function(function () {
            // Handle Fatal error
            $error = error_get_last();
            if (isset($error['type']) && $error['type'] === E_ERROR) {
                self::handleError($error['type'], $error['message'], $error['file'], $error['line']);
            }
        });
    }