diff --git a/webservice/rest/locallib.php b/webservice/rest/locallib.php index b2ca8b41fe2..dcf3bbb81a7 100644 --- a/webservice/rest/locallib.php +++ b/webservice/rest/locallib.php @@ -153,6 +153,15 @@ class webservice_rest_server extends webservice_base_server { * @param exception $ex the exception that we are sending */ protected function send_error($ex=null) { + // Unless debugging is completely off, log the error to server error log. + if (debugging('', DEBUG_MINIMAL)) { + $info = get_exception_info($ex); + // This format is the same as default_exception_handler() in setuplib.php but with the + // word 'REST' instead of 'Default', to make it easy to reuse any existing processing. + error_log('REST exception handler: ' . $info->message . ' Debug: ' . + $info->debuginfo . "\n" . format_backtrace($info->backtrace, true)); + } + $this->send_headers(); echo $this->generate_error($ex); }