From 04d61b9d97d6fcabe6b43ae5bd819da2bfe1c7b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=20V=C3=AEjdea?= Date: Sun, 23 Dec 2018 15:33:55 +0200 Subject: [PATCH] Log errors details of SwaggerValidationError --- src/drf_yasg/codecs.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/drf_yasg/codecs.py b/src/drf_yasg/codecs.py index 5644943..c942929 100644 --- a/src/drf_yasg/codecs.py +++ b/src/drf_yasg/codecs.py @@ -2,6 +2,7 @@ from six import raise_from import copy import json +import logging from collections import OrderedDict from coreapi.compat import force_bytes @@ -10,6 +11,7 @@ from ruamel import yaml from . import openapi from .errors import SwaggerValidationError +logger = logging.getLogger(__name__) def _validate_flex(spec): from flex.core import parse as validate_flex @@ -70,7 +72,10 @@ class _OpenAPICodec(object): errors[validator] = str(e) if errors: - raise SwaggerValidationError("spec validation failed", errors, spec, self) + exc = SwaggerValidationError("spec validation failed: {}".format(errors), errors, spec, self) + logger.warning(str(exc)) + raise exc + return force_bytes(self._dump_dict(spec)) def encode_error(self, err):