nlog-targets-seq icon indicating copy to clipboard operation
nlog-targets-seq copied to clipboard

Enh: perfs, reliability and durability

Open jods4 opened this issue 7 years ago • 1 comments

I am very happy to see the structured efforts of NLog 4.5 finally coming to fruition and a "real" Seq target! :tada: :heart:

Because this target sends logs over the network, it is important that:

  • Logs are batched to minimize network round-trips;
  • Unavailable network or other failures don't prevent the app from working thanks to buffering;
  • In case of errors, a "safe" retry policy is in place (e.g. circuit breaker, expo. back-off);
  • There is an option for durability: buffered message are sync. flushed to disk until their are sent.

For the last bullet, it is important that messages be human-readable (not necessarily "nice", their json payload would be acceptable). Lack of this feature would mean having a second file target beside the seq target. It would absolutely work but it would be a waste of resources since a lot of work would be duplicated for no reason.

jods4 avatar Jan 24 '18 23:01 jods4

Thanks for dropping by, @jods4! Time has been a little short lately, but I'm looking forward to circling back and finishing this up for the (I guess impending) NLog 4.5 release :-)

I think we should be able to port a lot of the code from https://github.com/serilog/serilog-sinks-seq to cover all of these points. Any and all help appreciated, for anyone out there with the inclination.

nblumhardt avatar Jan 25 '18 04:01 nblumhardt