private Stream CreateStreamFromLogEvents()

in src/Serilog.Sinks.AzureDataExplorer/Durable/LogShipper.cs [343:359]


        private Stream CreateStreamFromLogEvents(TPayload batch)
        {
            List<LogEvent> payloadBatch = (List<LogEvent>)Convert.ChangeType(batch, typeof(List<LogEvent>));
            var stream = new RecyclableMemoryStreamManager().GetStream();
            {
                using (GZipStream compressionStream = new GZipStream(stream, CompressionMode.Compress, leaveOpen: true))
                {
                    foreach (var logEvent in payloadBatch)
                    {
                        System.Text.Json.JsonSerializer.Serialize(compressionStream, logEvent.Dictionary());
                    }
                }
            }

            stream.Seek(0, SeekOrigin.Begin);
            return stream;
        }