Serilog Sinks Map

版本 v2.0.0·更新於 2026-04-23

NuGet Serilog.Sinks.Map package re-bundled for convenient consumption and dependency management.

模組介紹 作者原文

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 ` 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.

安裝與使用 安裝:BepInEx 外掛

  1. 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
  2. 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
  3. 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
  4. 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。

帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

dotnet_lethal_company-Serilog

檔案與校驗

檔案名稱
Serilog_Sinks_Map-2.0.0.zip
檔案大小
31.1 KiB