diff --git a/src/Serilog.Sinks.Grafana.Loki/Models/LokiBatch.cs b/src/Serilog.Sinks.Grafana.Loki/Models/LokiBatch.cs index d3435be..b8c302e 100644 --- a/src/Serilog.Sinks.Grafana.Loki/Models/LokiBatch.cs +++ b/src/Serilog.Sinks.Grafana.Loki/Models/LokiBatch.cs @@ -28,5 +28,5 @@ public LokiStream CreateStream() return stream; } - public string Serialize() => JsonSerializer.Serialize(this); + public string Serialize() => JsonSerializer.Serialize(this, LokiSerializationContext.Default.LokiBatch); } \ No newline at end of file diff --git a/src/Serilog.Sinks.Grafana.Loki/Models/LokiSerializationContext.cs b/src/Serilog.Sinks.Grafana.Loki/Models/LokiSerializationContext.cs new file mode 100644 index 0000000..58a12d9 --- /dev/null +++ b/src/Serilog.Sinks.Grafana.Loki/Models/LokiSerializationContext.cs @@ -0,0 +1,18 @@ +// Copyright 2020-2022 Mykhailo Shevchuk & Contributors +// +// Licensed under the MIT license; +// you may not use this file except in compliance with the License. +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See LICENSE file in the project root for full license information. + +using System.Text.Json.Serialization; + +namespace Serilog.Sinks.Grafana.Loki.Models; + +[JsonSerializable(typeof(LokiBatch))] +internal sealed partial class LokiSerializationContext : JsonSerializerContext +{ +} diff --git a/src/Serilog.Sinks.Grafana.Loki/Serilog.Sinks.Grafana.Loki.csproj b/src/Serilog.Sinks.Grafana.Loki/Serilog.Sinks.Grafana.Loki.csproj index 3908a97..cf756f7 100644 --- a/src/Serilog.Sinks.Grafana.Loki/Serilog.Sinks.Grafana.Loki.csproj +++ b/src/Serilog.Sinks.Grafana.Loki/Serilog.Sinks.Grafana.Loki.csproj @@ -25,7 +25,8 @@ - +