From f8e5c7867b7ef8d3fcd2c986d36561dd4a023943 Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Tue, 18 Nov 2025 18:14:07 +0100 Subject: [PATCH] add log message with json path on schema validation error --- src/pretix/base/logentrytype_registry.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pretix/base/logentrytype_registry.py b/src/pretix/base/logentrytype_registry.py index 882dd948e1..07ef9f3009 100644 --- a/src/pretix/base/logentrytype_registry.py +++ b/src/pretix/base/logentrytype_registry.py @@ -20,9 +20,10 @@ # . # import json +import logging from collections import defaultdict -from typing import Optional from functools import cached_property +from typing import Optional import jsonschema from django.urls import reverse @@ -31,6 +32,7 @@ from django.utils.translation import gettext_lazy as _ from pretix.base.signals import PluginAwareRegistry +logger = logging.getLogger(__name__) def make_link(a_map, wrapper, is_active=True, event=None, plugin_name=None): if a_map: @@ -179,7 +181,11 @@ class LogEntryType: def validate_data(self, parsed_data): if not self._prepared_schema: return - jsonschema.validate(parsed_data, self._prepared_schema) + try: + jsonschema.validate(parsed_data, self._prepared_schema) + except jsonschema.exceptions.ValidationError as ex: + logger.warning("%s schema validation failed: %s %s", type(self).__name__, ex.json_path, ex.message) + raise @cached_property def _prepared_schema(self):