diff --git a/x-pack/platform/plugins/shared/dataset_quality/server/routes/register_routes.ts b/x-pack/platform/plugins/shared/dataset_quality/server/routes/register_routes.ts index 17345df6d7357..36392a7b046f1 100644 --- a/x-pack/platform/plugins/shared/dataset_quality/server/routes/register_routes.ts +++ b/x-pack/platform/plugins/shared/dataset_quality/server/routes/register_routes.ts @@ -79,15 +79,13 @@ export function registerRoutes({ return response.ok({ body: data }); } catch (error) { if (Boom.isBoom(error)) { - logger.error(error.output.payload.message); + logRouteError(logger, error); return response.customError({ statusCode: error.output.statusCode, body: { message: error.output.payload.message }, }); } - logger.error(error); - const opts = { statusCode: 500, body: { @@ -100,9 +98,25 @@ export function registerRoutes({ opts.body.message = 'Client closed request'; } + logRouteError(logger, opts); + return response.customError(opts); } } ); }); } + +function logRouteError( + logger: Logger, + error: { statusCode: number; body: { message: string } } | Boom.Boom +) { + const errorStatusCode = 'statusCode' in error ? error.statusCode : error.output.statusCode; + const errorMessage = Boom.isBoom(error) ? error.output.payload.message : error.body.message; + + if (errorStatusCode >= 500) { + logger.error(errorMessage); + } else { + logger.debug(errorMessage); + } +}