Vostok.Logging is a set of libraries providing structured logging for .NET applications, much like Serilog, but tightly integrated into Vostok ecosystem.
-
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
- Console, file and Hercules logs comply to strict guarantees and offer solid performance.
-
Easy configuration
- Most log implementations require just one line of code to set up (see Quickstart).
-
Customizable formatting
- Output produced by text-based logs (console and file) can be customized with output templates.
-
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
- There are adapters available for Serilog, log4net and Microsoft.Extensions.Logging.
{% 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/" %}