Vostok.Logging in a nutshell

Vostok.Logging is a set of libraries providing structured logging for .NET applications, much like Serilog, but tightly integrated into Vostok ecosystem.

Guiding design principles

  • Logging system should not be able to significantly impact application health or performance.
    • Guarantees section covers this topic in greater detail.
  • Configuration is done in code.
    • Configuring and composing loggers in code is preferable to clumsy XML files. See Configuration section for an in-depth discussion.
  • Extensibility is valued.
    • The libraries are designed in a way that encourages creating custom implementations of logs and decorators.
  • Performance is of essence.
    • Implementations go to great lengths to provide a throughput level sufficient for applications handling tens or even hundreds of thousands of requests per second.


  • Structured logging
    • Log events contain key-value properties which are later used for querying the log data or rendering it to text.
  • Reliable built-in log implementations
  • Easy configuration
    • Most log implementations require just one line of code to set up (see Quickstart).
  • Customizable formatting
  • Filtering of log events
    • There's built-in support for filtering by level, properties or arbitrary contents of log events.
  • Enrichment of log events with custom properties
    • Log events can be dynamically enriched with new properties either specified by user or provided from ambient context.
  • Support for contextual information tied to log events
  • Integrations with other popular logging libraries

Good starting points

Last modified 3yr ago