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

Allow full control over log output format #33

Open
nicmunroe opened this issue Nov 7, 2016 · 0 comments
Open

Allow full control over log output format #33

nicmunroe opened this issue Nov 7, 2016 · 0 comments

Comments

@nicmunroe
Copy link
Member

Users might want to fully control the log message output of distributed traces. To allow for this, SpanLoggingRepresentation should be refactored to an interface (with the existing JSON and KEY_VALUE enums continuing as available options people can use). Then Tracer.completeAndLogSpan() should be refactored to delegate the log message to the interface so that users can fully define the log message and format themselves if desired.

One possible solution:

  • Rename SpanLoggingRepresentation into an interface named SpanLoggingStrategy.
  • The SpanLoggingStrategy interface should have a single method: SpanLoggingStrategy.logCompletedSpan(Span completedSpan, Logger loggerToUse, String infoTag).
  • Tracer.completeAndLogSpan() should delegate to whatever SpanLoggingStrategy is registered with it by replacing the loggerToUse.info(...) line with the new SpanLoggingStrategy method call.
  • Migrate the existing JSON and KEY_VALUE SpanLoggingRepresentation enum values to a different enum named DefaultSpanLoggingStrategyOptions that implements SpanLoggingStrategy and results in the same log messages we see with the current code.
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

1 participant