awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
serilog avatar

serilog/serilog

0
View on GitHub↗
serilog.net↗

Serilog

Serilog is a structured logging library for .NET applications that records events as rich data objects instead of plain text strings. It functions as a multi-sink framework, allowing a single log stream to be emitted to diverse destinations such as files, consoles, and cloud databases through a structured event pipeline.

The framework distinguishes itself through dynamic metadata enrichment, using log event enrichers to add contextual properties and telemetry to logs for improved traceability and analysis. It employs a routing system that filters, enriches, and directs these structured events to multiple external storage sinks.

Broad capabilities include the management of logging pipelines, external settings configuration, and the control of log volume via minimum severity levels. The project also provides tools for internal diagnostics capture and static analysis to identify common logging mistakes in source code.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Application Event Recording - Records application events as rich, structured data objects instead of plain text strings to enable precise querying and analysis.
  • Structured Logging - Records application events as rich data objects instead of plain text to enable precise querying and analysis.
  • Event Pipelines - Implements a routing system that filters, enriches, and directs log events to multiple external storage sinks.
  • Structured Logging Libraries - A logging framework for .NET applications that records events as data objects instead of plain text strings.
  • Log Event Enrichment - Implements a mechanism to dynamically add contextual properties, such as version numbers, to log events before they are emitted.
  • Application Log Routing - Directs structured logs to multiple destinations through a configurable routing pipeline.
  • Contextual Logging - Provides mechanisms for adding dynamic metadata and contextual properties to logs for improved traceability.
  • Contextual Logging Scopes - Provides a stack-based approach to attach temporary properties to all logs generated within a specific execution block.
  • Log Sinks - Dispatches processed log events to a series of pluggable output destinations for storage or display.
  • Logging and Telemetry - Adds dynamic metadata and contextual properties to log events to improve traceability in complex systems.
  • Event Persistence - Sends structured log events to cloud services, databases, files, and consoles for permanent record keeping.
  • Structured Message Templates - Captures events as data objects by parsing named placeholders in strings to maintain separate property values.
  • Logging Frameworks - Emits the same log stream to diverse destinations like files, consoles, and cloud databases via a multi-sink framework.
  • Telemetry Property Enrichment - Injects dynamic metadata into log events using provider functions to attach execution context.
  • Event Filtering Rules - Processes log events through a sequence of filters and switches to determine if an event should be routed or dropped.
  • Log Pipeline Definitions - Provides a system for defining how events are filtered, formatted, and routed via configuration files or programming syntax.
  • Log Event Filters - Provides a routing system to filter log events based on property values to control the volume and type of recorded data.
  • Severity Level Filtering - Controls log volume by filtering out messages that do not meet a specified minimum severity level.
  • Logger Hierarchies - Implements a hierarchical logger structure that allows events to delegate to child pipelines for granular control.
  • Logging Pipelines - Defines how events are filtered, formatted, and routed using external configuration files or programmatic syntax.
  • Nested Pipelines - Allows the definition of sub-loggers with independent filters and sinks for granular control over event handling.
  • Application Logging Configurations - Provides mechanisms for setting logging behavior, severity levels, and destinations using external configuration files.
  • Event Contextualization - Augments log events with consistent system-level metadata such as thread IDs, machine names, and process IDs.
  • Logging - Structured logging library for .NET.
  • Logging and Monitoring - Structured diagnostic logging library for modern applications.
  • Logging Frameworks - Diagnostic logging library with structured data support.
7,991 stars·857 forks·C#·Apache-2.0·30 views

Star history

Star history chart for serilog/serilogStar history chart for serilog/serilog

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does serilog/serilog do?

Serilog is a structured logging library for .NET applications that records events as rich data objects instead of plain text strings. It functions as a multi-sink framework, allowing a single log stream to be emitted to diverse destinations such as files, consoles, and cloud databases through a structured event pipeline.

What are the main features of serilog/serilog?

The main features of serilog/serilog are: Application Event Recording, Structured Logging, Event Pipelines, Structured Logging Libraries, Log Event Enrichment, Application Log Routing, Contextual Logging, Contextual Logging Scopes.

Which projects share features with serilog/serilog?

Projects with overlapping indexed features include: nlog/nlog — NLog is an open-source logging framework for .NET that functions as a structured logging library and log routing… qos-ch/logback — Logback is a Java logging framework used to record system events and diagnostic messages through a programmable API.… sirupsen/logrus — Logrus is a structured logging library for Go that produces machine-readable output using key-value pairs and JSON… charmbracelet/log — This is a structured logging library designed to produce logs using key-value pairs, severity levels, and… delgan/loguru — Loguru is a Python logging library and thread-safe framework designed for recording system events and diagnostic… winstonjs/winston — Winston is a versatile logging library for Node.js designed to record system events and metadata. It functions as a…

Projects sharing features with Serilog

These projects share indexed features with Serilog. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nlog/nlogNLog avatar

    NLog/NLog

    6,542View on GitHub↗

    NLog is an open-source logging framework for .NET that functions as a structured logging library and log routing engine. It captures log events with named parameters as searchable data rather than plain text and directs these messages to various output destinations based on severity and source. The framework is designed as an extensible platform, supporting custom targets, layout renderers, and filters that can be loaded from external assemblies or defined in code. It features a dynamic configuration system that allows logging targets, rules, and layouts to be updated via XML or programmatic

    C#aotaot-compatiblec-sharp
    View on GitHub↗6,542
  • qos-ch/logbackqos-ch avatar

    qos-ch/logback

    3,211View on GitHub↗

    Logback is a Java logging framework used to record system events and diagnostic messages through a programmable API. It serves as a concrete implementation of the Simple Logging Facade for Java (SLF4J) and provides a structured logging engine for outputting events in machine-readable formats like JSON. The system distinguishes itself through an asynchronous log processor that utilizes circular queues and background workers to reduce performance overhead. It also features a log file rotation manager for size-based or time-based rollover with automatic compression, and the ability to update log

    Java
    View on GitHub↗3,211
  • sirupsen/logrussirupsen avatar

    sirupsen/logrus

    25,736View on GitHub↗

    Logrus is a structured logging library for Go that produces machine-readable output using key-value pairs and JSON formatting. It serves as a pluggable logging framework providing a thread-safe event logger with configurable mutex locking to manage concurrent writes across multiple goroutines. The project distinguishes itself through a pluggable hook system that routes log entries to external services or custom destinations. It also features a contextual logger capable of attaching persistent metadata and request-scoped fields to entries to improve traceability. The framework covers broad ob

    Gogologginglogrus
    View on GitHub↗25,736
  • charmbracelet/logcharmbracelet avatar

    charmbracelet/log

    3,121View on GitHub↗

    This is a structured logging library designed to produce logs using key-value pairs, severity levels, and machine-readable formats. It provides a toolkit for creating logs that are consistent for both human review and machine parsing. The project is distinguished by its focus on terminal visualization, using a styling system to apply colors and prefixes to log entries for improved readability in consoles. It also includes a specialized adapter to convert standard library log calls into structured events by inferring severity levels from message prefixes. The library manages metadata through

    Gogolanglogging
    View on GitHub↗3,121
  • Compare all 30 related projects→