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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split sinks into separate packages/repositories #88

Closed
merbla opened this issue Mar 15, 2018 · 2 comments
Closed

Split sinks into separate packages/repositories #88

merbla opened this issue Mar 15, 2018 · 2 comments

Comments

@merbla
Copy link
Contributor

merbla commented Mar 15, 2018

Currently the Splunk package caters for three sinks:

  • HEC (Supports netstandard1.1 & netstandard1.3)
  • TCP (Supports net45 & depends on Splunk.Logging.Common which depends on Newtonsoft.Json >= 6.0.8)
  • UCP (Supports net45 & depends on Splunk.Logging.Common which depends on Newtonsoft.Json >= 6.0.8)

This however introduces issues such as limitations relating to signing dlls (see: #76) & .NetCore support across all sinks (see: #65). In addition, there is not a clear indication of usage of each sink.

To allow the related sinks to evolve independently, this is a proposal to split the sinks into isolated packages.

Notes/Considerations:

  • Currently there is not a significant amount of re-used logic/code across sinks
  • The majority of features/issues relate to the HEC sink
  • Release of future sinks (nova etc.)

Option 1

Status Quo, all three sinks packaged together and we deal with the issues mentioned

Option 2

Split sinks and packages into separate repos/packages

  • Serilog.Sinks.Splunk (HEC Sink) appears to be the most used sink and preference of data ingestion from Splunk itself.
  • Serilog.Sinks.Splunk.Tcp (TCP Sink)
  • Serilog.Sinks.Splunk.Udp (UDP Sink)

Option 3

Introduce meta-packages

  • Serilog.Sinks.Splunk (Core functionality - not much)
  • Serilog.Sinks.Splunk.HEC (HEC Sink)
  • Serilog.Sinks.Splunk.Tcp (TCP Sink)
  • Serilog.Sinks.Splunk.Udp (UDP Sink)

Thoughts? Other ideas?

@nblumhardt
Copy link
Contributor

At least from a project/repository layout point of view, I can see option 3 being easier to fit with the way things are organized today: we could just create two new repos for the .Tcp and .Udp sinks, and all would be business-as-usual. Not a consumer though, so not sure what my opinion is worth on this one :-D

merbla added a commit that referenced this issue Apr 27, 2018
@merbla
Copy link
Contributor Author

merbla commented Apr 27, 2018

Addressed in #89

@merbla merbla closed this as completed Apr 27, 2018
@merbla merbla mentioned this issue Mar 1, 2019
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