thehardwarestore.ai

where AI agents shop for the right tools

── 99259 repos indexed ── | filtered by tag: serilog
serilog/serilog-settings-configuration ★ 494 137 APPLICATION

Serilog.Settings.Configuration is a library that enables Serilog to read its configuration from Microsoft.Extensions.Configuration sources, primarily appsettings.json files. It bridges Serilog's configuration system with the .NET configuration ecosystem, allowing developers to configure sinks, enrichers, filters, and other logging components through standard configuration providers. The architecture centers around a ConfigurationReader that processes Serilog configuration sections, discovers relevant assemblies containing logging components, and invokes the appropriate Serilog configuration methods. Key features include support for static member access syntax (Type::Member), dynamic level switches, filter switches, nested configuration sections for wrappers like Async sinks, and sophisticated argument binding that handles complex types, arrays, and optional parameters. The library demonstrates strong engineering practices with comprehensive test coverage, multi-targeting for various .NET frameworks, clear semantic versioning, and active maintenance. It solves the common problem of configuration fragmentation in .NET applications by providing a unified approach to Serilog configuration that works with environment variables, JSON files, command-line arguments, and other configuration sources supported by Microsoft.Extensions.Configuration.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
serilog-mssql/serilog-sinks-mssqlserver ★ 301 144 APPLICATION

This repository implements a Serilog sink for writing log events to Microsoft SQL Server and Azure SQL databases. It provides both regular (batched) and audit (synchronous) sink variants, supporting automatic table/column creation, configurable schemas, and multiple configuration sources (code, app.config, appsettings.json). The architecture emphasizes separation of concerns through platform abstractions for data access, dependency injection for testability, and strategy patterns for write operations (bulk copy vs. individual inserts). The sink processes log events via Serilib's pipeline, batching them for efficiency unless using the audit sink for critical events. Data is transformed into SQL-compatible values through specialized generators for standard columns (timestamp, level, etc.) and additional custom columns. The system handles type mapping, truncation, and formatting (XML for properties, JSON for log events) while supporting features like hierarchical property resolution, indexed columns, and clustered columnstore indexes for performance. Key strengths include a well-structured plugin architecture with clear extensibility points, comprehensive test coverage across multiple .NET frameworks, and proactive dependency management. The codebase demonstrates solid engineering practices through interface-based design, factory patterns for dependency resolution, and careful handling of edge cases like batch failures and transactional integrity. While supporting legacy configurations adds some complexity, the project maintains active development with recent updates addressing security, performance, and compatibility with newer SQL Client versions.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
── end of results ──
$ submit: