Log events

Log event is the atomic unit of logging data: every act of logging produces one.
Users are typically not required to create log events manually as numerous logging extensions handle event construction, unless they are building a custom log implementation/decorator.


Every log event consists of five components:
  • Level
    • Levels indicate event severity:
      • Debug: verbose output, typically disabled in production
      • Info: neutral messages
      • Warn: non-critical errors that don't affect the normal operation of the application
      • Error: unexpected errors that may require human attention
      • Fatal: critical errors resulting in application shutdown
  • Timestamp
    • Timestamp of the event creation. Includes timezone information.
  • Message template
    • Template of the log message that may contain placeholders to be filled with values from properties. May be absent in a valid log event.
  • Properties
    • Arbitrary key-value data with case-sensitive string keys. May be absent in a valid log event.
  • Exception
    • The error associated with the log event. May be absent in a valid log event.


Log events are effectively immutable: any changes lead to creation of a new event. LogEvent class provides a set of special transformation methods:
logEvent = logEvent.WithProperty("Count", 100);
logEvent = logEvent.WithoutProperty("UselessProperty");
This ensures thread safety when routing the same event to multiple logs.
Last modified 3yr ago