Serilog Sinks Map
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 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: