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

Planning Version 7 #42

Open
chris-peterson opened this issue Oct 25, 2023 · 0 comments
Open

Planning Version 7 #42

chris-peterson opened this issue Oct 25, 2023 · 0 comments

Comments

@chris-peterson
Copy link
Owner

chris-peterson commented Oct 25, 2023

Potential Changes in v7.0

Breaking Changes

  • default to shorter, snake_case field names. Provide configuration options to retain existing behavior and/or further customize field naming
  • changes to default behavior: RemoveNewLines: true
  • don't log Count_ automatically when using Time/Timers.Accumulate -- require some sort of opt-in
  • default precision for ms is whole numbers only. can opt-in for fractional values

Enhancements

  • Add ability to control precision for timings -- with this provide a minimum threshold under which fields are automatically suppressed
  • Ensure non-standard SI units are explicit in field names, e.g. ms in TimeElapsed
  • Add Warn/Error methods that default to appending. Consider removing SetToX methods
  • Introduce a concept of "essential fields". This set can be extended by callers and is used by a new Summarize() method that will shrink a logged message to just the essential fields. This is useful to manage logging volumes, e.g. for a web request that is fast and successful, don't log a ton of granular timings, etc; but rather, the "essential fields"
@chris-peterson chris-peterson changed the title Version 7 Planning Version 7 Oct 25, 2023
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