Serilog.Sinks.Map 2.0.0
Serilog.Sinks.Map

A Serilog sink wrapper that dispatches events based on a property value.
Getting started
Install the package from NuGet:
dotnet add package Serilog.Sinks.Map
The WriteTo.Map() method accepts a property name to use as a sink selector, a default value
to use when the property is not attached, and a function that configures the sinks based on each property value.
For example, when using Serilog.Sinks.File:
dotnet add package Serilog.Sinks.File
The value of a log event property like Name can be inserted into log filenames:
Log.Logger = new LoggerConfiguration()
.WriteTo.Map("Name", "Other", (name, wt) => wt.File($"./logs/log-{name}.txt"))
.CreateLogger();
Log.Information("Hello, {Name}!", "Alice");
// -> Event written to log-Alice.txt
Log.Information("Hello, {Name}!", "Bob");
// -> Event written to log-Bob.txt
Log.Information("Shutting down");
// -> Event written to log-Other.txt
Log.CloseAndFlush();
Limiting the number of open sinks
By default, the target sinks opened by this sink won't be closed/disposed until the mapped sink is. This is efficient for dispatching to a finite number of sinks, e.g. file-per-log-level and so-on, but isn't suitable when the set of possible key values is open-ended.
To limit the number of target sinks that will be kept open in the map, specify sinkMapCountLimit:
.WriteTo.Map("Name",
"Other",
(name, wt) => wt.File($"./logs/log-{name}.txt"),
sinkMapCountLimit: 10)
To keep no sinks open, i.e. close them immediately after processing each event, a sinkMapCountLimit of zero may be specified.
Configuration with <appSettings> and appSettings.json
Serilog.Sinks.Map is built around a mapping function, and as such, isn't able to be configured using XML or JSON configuration.
Showing the top 20 packages that depend on Serilog.Sinks.Map.
| Packages | Downloads |
|---|---|
|
UmbracoCms.Core
Contains the core assemblies needed to run Umbraco Cms. This package only contains assemblies and can be used for package development. Use the UmbracoCms package to setup Umbraco in Visual Studio as an ASP.NET project.
|
7 |
|
UmbracoCms.Core
Contains the core assemblies needed to run Umbraco Cms. This package only contains assemblies and can be used for package development. Use the UmbracoCms package to setup Umbraco in Visual Studio as an ASP.NET project.
|
8 |
|
UmbracoCms.Core
Contains the core assemblies needed to run Umbraco Cms. This package only contains assemblies and can be used for package development. Use the UmbracoCms package to setup Umbraco in Visual Studio as an ASP.NET project.
|
9 |
| Version | Downloads | Last updated |
|---|---|---|
| 2.0.0 | 5 | 23.08.2025 |
| 2.0.0-dev-00048 | 4 | 23.08.2025 |
| 1.0.2 | 5 | 23.08.2025 |
| 1.0.2-dev-00040 | 4 | 23.08.2025 |
| 1.0.2-dev-00031 | 4 | 23.08.2025 |
| 1.0.1 | 5 | 23.08.2025 |
| 1.0.1-dev-00028 | 4 | 23.08.2025 |
| 1.0.1-dev-00025 | 4 | 23.08.2025 |
| 1.0.0 | 5 | 23.08.2025 |
| 1.0.0-dev-00020 | 4 | 23.08.2025 |
| 1.0.0-dev-00017 | 4 | 23.08.2025 |
| 1.0.0-dev-00012 | 4 | 23.08.2025 |
| 1.0.0-dev-00008 | 4 | 23.08.2025 |
| 1.0.0-dev-00006 | 4 | 23.08.2025 |
| 1.0.0-dev-00004 | 4 | 23.08.2025 |
| 1.0.0-dev-00001 | 4 | 23.08.2025 |