From a1c36779070727b4b50b07e23da942e62bf160ae Mon Sep 17 00:00:00 2001 From: Rolf Kristensen Date: Sat, 5 Apr 2025 22:21:21 +0200 Subject: [PATCH] Marked JsonLayout EscapeForwardSlash as obsolete --- .../Wrappers/JsonEncodeLayoutRendererWrapper.cs | 2 ++ src/NLog/Layouts/JSON/JsonAttribute.cs | 4 +++- src/NLog/Layouts/JSON/JsonLayout.cs | 1 + src/NLog/Targets/DefaultJsonSerializer.cs | 3 ++- src/NLog/Targets/JsonSerializeOptions.cs | 1 + 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/NLog/LayoutRenderers/Wrappers/JsonEncodeLayoutRendererWrapper.cs b/src/NLog/LayoutRenderers/Wrappers/JsonEncodeLayoutRendererWrapper.cs index 4325b4ac74..7aa9a757fb 100644 --- a/src/NLog/LayoutRenderers/Wrappers/JsonEncodeLayoutRendererWrapper.cs +++ b/src/NLog/LayoutRenderers/Wrappers/JsonEncodeLayoutRendererWrapper.cs @@ -34,6 +34,7 @@ namespace NLog.LayoutRenderers.Wrappers { using System; + using System.ComponentModel; using System.Text; using NLog.Config; @@ -70,6 +71,7 @@ public sealed class JsonEncodeLayoutRendererWrapper : WrapperLayoutRendererBase /// /// [Obsolete("Marked obsolete with NLog 5.5. Should never escape forward slash")] + [EditorBrowsable(EditorBrowsableState.Never)] public bool EscapeForwardSlash { get; set; } /// diff --git a/src/NLog/Layouts/JSON/JsonAttribute.cs b/src/NLog/Layouts/JSON/JsonAttribute.cs index 80be45028d..c333c3c339 100644 --- a/src/NLog/Layouts/JSON/JsonAttribute.cs +++ b/src/NLog/Layouts/JSON/JsonAttribute.cs @@ -34,6 +34,7 @@ namespace NLog.Layouts { using System; + using System.ComponentModel; using System.Text; using NLog.Config; @@ -133,7 +134,8 @@ public string Name /// If not set explicitly then the value of the parent will be used as default. /// /// - [Obsolete("Marked obsolete with NLog 5.5. Should never escape forward slash")] + [Obsolete("Marked obsolete since forward slash are valid JSON. Marked obsolete with NLog v5.4")] + [EditorBrowsable(EditorBrowsableState.Never)] public bool EscapeForwardSlash { get; set; } /// diff --git a/src/NLog/Layouts/JSON/JsonLayout.cs b/src/NLog/Layouts/JSON/JsonLayout.cs index 18da8fbb0c..29e31d77a9 100644 --- a/src/NLog/Layouts/JSON/JsonLayout.cs +++ b/src/NLog/Layouts/JSON/JsonLayout.cs @@ -234,6 +234,7 @@ public bool IndentJson /// /// [Obsolete("Marked obsolete with NLog 5.5. Should never escape forward slash")] + [EditorBrowsable(EditorBrowsableState.Never)] public bool EscapeForwardSlash { get; set; } /// diff --git a/src/NLog/Targets/DefaultJsonSerializer.cs b/src/NLog/Targets/DefaultJsonSerializer.cs index 4b37b7d5d7..ed15057c28 100644 --- a/src/NLog/Targets/DefaultJsonSerializer.cs +++ b/src/NLog/Targets/DefaultJsonSerializer.cs @@ -95,9 +95,10 @@ public string SerializeObject(object value, JsonSerializeOptions options) } else if (value is string str) { + var escapeUnicode = options.EscapeUnicode; foreach (var chr in str) { - if (RequiresJsonEscape(chr, options.EscapeUnicode)) + if (RequiresJsonEscape(chr, escapeUnicode)) { StringBuilder sb = new StringBuilder(str.Length + 4); sb.Append('"'); diff --git a/src/NLog/Targets/JsonSerializeOptions.cs b/src/NLog/Targets/JsonSerializeOptions.cs index f5c3d46775..4a1b72e59c 100644 --- a/src/NLog/Targets/JsonSerializeOptions.cs +++ b/src/NLog/Targets/JsonSerializeOptions.cs @@ -71,6 +71,7 @@ public class JsonSerializeOptions /// Should forward slashes be escaped? If true, / will be converted to \/ /// [Obsolete("Marked obsolete with NLog 5.5. Should never escape forward slash")] + [EditorBrowsable(EditorBrowsableState.Never)] public bool EscapeForwardSlash { get; set; } ///