From 3167d4fbc29d41555d914192957457b2f912b7d5 Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Wed, 1 Feb 2023 19:45:10 +0300 Subject: [PATCH] Improve logging performance --- .../networknt/schema/AdditionalPropertiesValidator.java | 2 +- src/main/java/com/networknt/schema/BaseJsonValidator.java | 4 +--- src/main/java/com/networknt/schema/DateTimeValidator.java | 2 +- src/main/java/com/networknt/schema/FormatValidator.java | 2 +- src/main/java/com/networknt/schema/JsonMetaSchema.java | 6 +++--- src/main/java/com/networknt/schema/JsonSchemaFactory.java | 4 +--- src/main/java/com/networknt/schema/PatternValidator.java | 8 ++++---- 7 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/networknt/schema/AdditionalPropertiesValidator.java b/src/main/java/com/networknt/schema/AdditionalPropertiesValidator.java index 897093bc3..9b61a1fd8 100644 --- a/src/main/java/com/networknt/schema/AdditionalPropertiesValidator.java +++ b/src/main/java/com/networknt/schema/AdditionalPropertiesValidator.java @@ -77,7 +77,7 @@ private void addToEvaluatedProperties(String propertyPath) { } public Set validate(JsonNode node, JsonNode rootNode, String at) { - if (logger.isDebugEnabled()) debug(logger, node, rootNode, at); + debug(logger, node, rootNode, at); Set errors = new LinkedHashSet(); if (!node.isObject()) { diff --git a/src/main/java/com/networknt/schema/BaseJsonValidator.java b/src/main/java/com/networknt/schema/BaseJsonValidator.java index 094e6ecb6..284a3621e 100644 --- a/src/main/java/com/networknt/schema/BaseJsonValidator.java +++ b/src/main/java/com/networknt/schema/BaseJsonValidator.java @@ -151,9 +151,7 @@ protected ValidationMessage buildValidationMessage(String at, String... argument } protected void debug(Logger logger, JsonNode node, JsonNode rootNode, String at) { - if (logger.isDebugEnabled()) { - logger.debug("validate( " + node + ", " + rootNode + ", " + at + ")"); - } + logger.debug("validate( {}, {}, {})", node, rootNode, at); } protected ValidatorTypeCode getValidatorType() { diff --git a/src/main/java/com/networknt/schema/DateTimeValidator.java b/src/main/java/com/networknt/schema/DateTimeValidator.java index 8d7fe2897..83cb11757 100644 --- a/src/main/java/com/networknt/schema/DateTimeValidator.java +++ b/src/main/java/com/networknt/schema/DateTimeValidator.java @@ -79,7 +79,7 @@ private boolean tryParse(Runnable parser) { parser.run(); return true; } catch (Exception ex) { - logger.error("Invalid " + formatName + ": " + ex.getMessage()); + logger.error("Invalid {}: {}", formatName, ex.getMessage()); return false; } } diff --git a/src/main/java/com/networknt/schema/FormatValidator.java b/src/main/java/com/networknt/schema/FormatValidator.java index 9749ec814..a8afa147d 100644 --- a/src/main/java/com/networknt/schema/FormatValidator.java +++ b/src/main/java/com/networknt/schema/FormatValidator.java @@ -63,7 +63,7 @@ public Set validate(JsonNode node, JsonNode rootNode, String } } catch (PatternSyntaxException pse) { // String is considered valid if pattern is invalid - logger.error("Failed to apply pattern on " + at + ": Invalid RE syntax [" + format.getName() + "]", pse); + logger.error("Failed to apply pattern on {}: Invalid RE syntax [{}]", at, format.getName(), pse); } } diff --git a/src/main/java/com/networknt/schema/JsonMetaSchema.java b/src/main/java/com/networknt/schema/JsonMetaSchema.java index 1f81769c6..5a5fabfb7 100644 --- a/src/main/java/com/networknt/schema/JsonMetaSchema.java +++ b/src/main/java/com/networknt/schema/JsonMetaSchema.java @@ -278,7 +278,7 @@ public JsonValidator newValidator(ValidationContext validationContext, String sc Keyword kw = keywords.get(keyword); if (kw == null) { if (UNKNOWN_KEYWORDS.put(keyword, keyword) == null) { - logger.warn("Unknown keyword " + keyword + " - you should define your own Meta Schema. If the keyword is irrelevant for validation, just use a NonValidationKeyword"); + logger.warn("Unknown keyword {} - you should define your own Meta Schema. If the keyword is irrelevant for validation, just use a NonValidationKeyword", keyword); } return null; } @@ -289,13 +289,13 @@ public JsonValidator newValidator(ValidationContext validationContext, String sc logger.error("Error:", e); throw (JsonSchemaException) e.getTargetException(); } else { - logger.warn("Could not load validator " + keyword); + logger.warn("Could not load validator {}", keyword); throw new JsonSchemaException(e.getTargetException()); } } catch (JsonSchemaException e) { throw e; } catch (Exception e) { - logger.warn("Could not load validator " + keyword); + logger.warn("Could not load validator {}", keyword); throw new JsonSchemaException(e); } } diff --git a/src/main/java/com/networknt/schema/JsonSchemaFactory.java b/src/main/java/com/networknt/schema/JsonSchemaFactory.java index 147fe1592..0f25a5b74 100644 --- a/src/main/java/com/networknt/schema/JsonSchemaFactory.java +++ b/src/main/java/com/networknt/schema/JsonSchemaFactory.java @@ -424,9 +424,7 @@ private boolean idMatchesSourceUri(final JsonMetaSchema metaSchema, final JsonNo return false; } boolean result = id.equals(schemaUri.toString()); - if (logger.isDebugEnabled()) { - logger.debug("Matching " + id + " to " + schemaUri.toString() + ": " + result); - } + logger.debug("Matching {} to {}: {}", id, schemaUri, result); return result; } diff --git a/src/main/java/com/networknt/schema/PatternValidator.java b/src/main/java/com/networknt/schema/PatternValidator.java index fe2e54d88..01c1b8dde 100644 --- a/src/main/java/com/networknt/schema/PatternValidator.java +++ b/src/main/java/com/networknt/schema/PatternValidator.java @@ -75,7 +75,7 @@ public PatternValidatorJava(String schemaPath, JsonNode schemaNode, JsonSchema p try { compiledPattern = Pattern.compile(pattern); } catch (PatternSyntaxException pse) { - logger.error("Failed to compile pattern : Invalid syntax [" + pattern + "]", pse); + logger.error("Failed to compile pattern : Invalid syntax [{}]", pattern, pse); throw pse; } } @@ -100,7 +100,7 @@ public Set validate(JsonNode node, JsonNode rootNode, String return Collections.singleton(buildValidationMessage(at, pattern)); } } catch (PatternSyntaxException pse) { - logger.error("Failed to apply pattern on " + at + ": Invalid syntax [" + pattern + "]", pse); + logger.error("Failed to apply pattern on {}: Invalid syntax [{}]", at, pattern, pse); } return Collections.emptySet(); @@ -121,7 +121,7 @@ public PatternValidatorEcma262(String schemaPath, JsonNode schemaNode, JsonSchem try { compileRegexPattern(pattern, validationContext.getConfig() != null && validationContext.getConfig().isEcma262Validator()); } catch (SyntaxException se) { - logger.error("Failed to compile pattern : Invalid syntax [" + pattern + "]", se); + logger.error("Failed to compile pattern : Invalid syntax [{}]", pattern, se); throw se; } } @@ -156,7 +156,7 @@ public Set validate(JsonNode node, JsonNode rootNode, String return Collections.singleton(buildValidationMessage(at, pattern)); } } catch (PatternSyntaxException pse) { - logger.error("Failed to apply pattern on " + at + ": Invalid syntax [" + pattern + "]", pse); + logger.error("Failed to apply pattern on {}: Invalid syntax [{}]", at, pattern, pse); } return Collections.emptySet();