Skip to content

Planning Version 7 #42

@chris-peterson

Description

@chris-peterson

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
  • nullable reference types - may result in compile-time errors
  • remove deprecated/[Obsolete]s

Enhancements

  • Remove dependency on Ben.Demystifier - project has gone dormant for > 3 years
  • 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"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions