serilog-contrib / serilog-sinks-teams

A Serilog event sink that writes to Microsoft Teams
MIT License
18 stars 11 forks source link

Enhancement Idea - Performance and HTTP Call #1

Closed Franklin89 closed 7 years ago

Franklin89 commented 7 years ago

@DixonDs First off, great work :+1:

Might be an idea to look at the Http Sink and to use a buffer and proper async call to enhance performance.

Or use this as a base similar to how the loggly sink uses it.

DixonDs commented 7 years ago

Thanks, @Franklin89 , I will definitely look into it

DixonDs commented 7 years ago

@Franklin89 I've given it some thought, I think it would make sense to provide two sinks similarly as in https://github.com/serilog/serilog-sinks-azuretablestorage/tree/master/src/Serilog.Sinks.AzureTableStorage/Sinks/AzureTableStorage - one for batching using PeriodicBatchingSink and eliminating duplicate log entries and a normal one with buffering like in https://github.com/serilog/serilog-sinks-async/blob/master/src/Serilog.Sinks.Async/Sinks/Async/BackgroundWorkerSink.cs

What do you think?

Franklin89 commented 7 years ago

@DixonDs I have not used one of those. But I am using the sink for seq a lot and it is working great. I would suggest to follow the pattern they have. Or the [slack]() sink.

I think providing two sinks is not the best solution. Following the Seq sink which has buffering included would be the best solution.

Please see my PR #2