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

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

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

serilog/serilog

0
View on GitHub↗
7,991 stars·857 forks·C#·Apache-2.0·11 viewsserilog.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.

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.

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
  • 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.
  • Star history

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

    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.

    What are some open-source alternatives to serilog/serilog?

    Open-source alternatives to serilog/serilog 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…

    Open-source alternatives to Serilog

    Similar open-source projects, ranked by how many features they share with Serilog.
    • 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
    See all 30 alternatives to Serilog→