Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enh: perfs, reliability and durability #26

Open
jods4 opened this issue Jan 24, 2018 · 1 comment
Open

Enh: perfs, reliability and durability #26

jods4 opened this issue Jan 24, 2018 · 1 comment

Comments

@jods4
Copy link

jods4 commented Jan 24, 2018

I am very happy to see the structured efforts of NLog 4.5 finally coming to fruition and a "real" Seq target! 馃帀 鉂わ笍

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.

@nblumhardt
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants