All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.0 - 2026-03-23
Critical(),Debug(),Trace()log methods to cover all 6 standardILoggerlevelsIsEnabled(LogLevel)guard clause inLog()— avoids serialization and enricher invocation when the level is disabled- Explicit null checks on all constructor parameters
sealed record LogEntryto replace anonymous type for log entry serialization- XML documentation on
BeginScopeto document theIDisposablecontract
JsonSerializerOptionsmoved to astatic readonlyfield — previously a new instance was allocated on every log call_logger.Log()state parameter now passes the structuredLogEntryinstead ofnull, enabling structured log providers (Serilog, OpenTelemetry, Application Insights) to index fields correctlyBeginScopereturn type corrected toIDisposable?(nullable), matching the officialILoggersignature
- Unused
record LogJsonState(string Json)declaration
- Typo "Exemple" → "Example" in README
_logger.info()→_logger.Info()in README code example (lowercaseidoes not compile)- Missing language hints on README code blocks (added
csharp,json,bash)
1.0.0 - 2026-02-27
- Initial release
IStructLog<T>interface withInfo(),Warning(),Error()methodsILogEnricherinterface for custom context enrichersIEventCodeinterface for structured event identificationEventCodebuilt-in implementationStructLogOptionswithEnableEnrichersflagAddStructLog()andAddStructLog(IConfiguration)extension methods for DI registration- JSON output via
System.Text.Json BeginScope()support for contextual logging- GitHub Actions workflow for automatic NuGet publish on tag push
- MIT license