Home

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.

Features

  • 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