Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
69 lines (35 sloc) 2.83 KB

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

{% page-ref page="quick-start.md" %}

{% page-ref page="modules/" %}

{% page-ref page="concepts/log-interface.md" %}

{% page-ref page="concepts/log-events.md" %}

{% page-ref page="concepts/syntax/" %}

You can’t perform that action at this time.