Origin: https://github.com/apache/logging-log4j2/commit/08964048c4d8dc58ab248ca38d3c6deaa101f9b3
From d936f53c3f90f6b57c5069c71d74de5483aaa70d Mon Sep 17 00:00:00 2001
From: "Piotr P. Karwasz" <pkarwasz-github@apache.org>
Date: Tue, 14 Jul 2026 10:11:13 +0800
Subject: [PATCH 1/2] JsonWriter: Write non-finite floating-point values as
strings
.../layout/template/json/util/JsonWriter.java | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
@@ -755,11 +755,21 @@ public final class JsonWriter implements AutoCloseable, Cloneable {
}
public void writeNumber(final float number) {
- stringBuilder.append(number);
+ // Follows the same logic as Jackson's JsonWriteFeature#WRITE_NAN_AS_STRINGS feature.
+ if (!Float.isFinite(number)) {
+ writeString(Float.toString(number));
+ } else {
+ stringBuilder.append(number);
+ }
}
public void writeNumber(final double number) {
- stringBuilder.append(number);
+ // Follows the same logic as Jackson's JsonWriteFeature#WRITE_NAN_AS_STRINGS feature.
+ if (!Double.isFinite(number)) {
+ writeString(Double.toString(number));
+ } else {
+ stringBuilder.append(number);
+ }
}
public void writeNumber(final short number) {