OLT.Logging.Serilog 10.0.0

Prefix Reserved
dotnet add package OLT.Logging.Serilog --version 10.0.0
                    
NuGet\Install-Package OLT.Logging.Serilog -Version 10.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OLT.Logging.Serilog" Version="10.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OLT.Logging.Serilog" Version="10.0.0" />
                    
Directory.Packages.props
<PackageReference Include="OLT.Logging.Serilog" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OLT.Logging.Serilog --version 10.0.0
                    
#r "nuget: OLT.Logging.Serilog, 10.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OLT.Logging.Serilog@10.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OLT.Logging.Serilog&version=10.0.0
                    
Install as a Cake Addin
#tool nuget:?package=OLT.Logging.Serilog&version=10.0.0
                    
Install as a Cake Tool

CI Quality Gate Status

OLT.Logging.Serilog.Enricher - OltEventTypeEnricher

OltEventTypeEnricher is a Serilog enricher that attaches a deterministic, compact event-type identifier to each log event based on the log message template text. This enables grouping, deduplication, and analysis of log events by template rather than by rendered message.

Key points

  • Property added: OltSerilogConstants.Properties.EventType (constant provided in the library).
  • Hash algorithm: Murmur3 32-bit (Murmur32).
  • Input: LogEvent.MessageTemplate.Text (the message template, not the rendered message).
  • Output: Uppercase hexadecimal string representation of the 4-byte Murmur3 hash (e.g. 9A3F2B7C).
  • Purpose: Create a stable identifier for a message template so queries, dashboards, or telemetry systems can aggregate or correlate events by template.

Why use this enricher

  • Identify the logical event type even when structured properties vary per occurrence.

  • Group similar events in dashboards or alerts.

  • Reduce storage/aggregation complexity by using an identifier instead of full templates.

  • Lightweight and deterministic: same template → same identifier across services.

  • Explain algorithm:

    • Create a new Murmur3 32-bit hasher (MurmurHash.Create32()).
    • Convert logEvent.MessageTemplate.Text to UTF-8 bytes.
    • Compute 32-bit Murmur hash bytes.
    • Convert hash bytes to uppercase hexadecimal string (Convert.ToHexString).
    • Create a Serilog LogEventProperty with the property name constant OltSerilogConstants.Properties.EventType.
    • Attach the property to the LogEvent using AddPropertyIfAbsent.
  • How To: Configure

services.WithOltMSSqlServer();
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on OLT.Logging.Serilog:

Package Downloads
OLT.Logging.Serilog.Hosting

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.0 61 2/25/2026
10.0.0-beta-0002 133 12/26/2025
10.0.0-beta-0001 118 12/26/2025
9.0.0 545 8/25/2025
9.0.0-beta-0013 326 1/30/2025
9.0.0-beta-0011 185 1/30/2025
9.0.0-beta-0009 196 12/30/2024
9.0.0-beta-0007 168 12/9/2024
9.0.0-beta-0005 184 12/2/2024
8.4.0-beta-0010 159 11/7/2024
8.4.0-beta-0005 167 10/9/2024
8.3.1 2,374 8/26/2024
8.3.1-beta-0005 256 8/21/2024
8.3.0 344 8/9/2024
8.3.0-beta-0015 223 6/3/2024
8.3.0-beta-0010 213 5/13/2024
8.3.0-beta-0005 228 5/10/2024
8.2.1 741 4/22/2024
8.2.0 439 4/8/2024
8.1.0 360 3/10/2024
Loading failed