serilog 的独立配置文件
Standalone configuration file for serilog
我正在寻找一种方法来为 serilog 提供一个独立的 XML/JSON 配置文件,它是从应用程序本身运行的目录中动态加载的。
我正在寻找与 NLog provides. As described in Nlog#Configuration-file:
类似的内容
For a stand-alone *.exe application, files are searched as follows:
- standard application configuration file (usually applicationname.exe.config)
- applicationname.exe.nlog in application’s directory
- NLog.config in application’s directory (Name sensitive; using docker dotnet core)
- NLog.dll.nlog in a directory where NLog.dll is located (only if NLog isn't installed in the GAC)
serilog 中是否有类似的行为?
我自己在这个 wiki 中找到了答案。
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("debug.json")
.Build();
var logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.CreateLogger();
其中 debug.json
是应用程序目录中可以更改的文件。我的示例文件看起来像
{
"Serilog": {
"Using": [ "Serilog.Sinks.File" ],
"MinimumLevel": "Debug",
"WriteTo": [
{ "Name": "File", "Args": { "path": "log.log" } }
],
"Properties": {
"Application": "Sample"
}
}
}
我正在寻找一种方法来为 serilog 提供一个独立的 XML/JSON 配置文件,它是从应用程序本身运行的目录中动态加载的。
我正在寻找与 NLog provides. As described in Nlog#Configuration-file:
类似的内容For a stand-alone *.exe application, files are searched as follows:
- standard application configuration file (usually applicationname.exe.config)
- applicationname.exe.nlog in application’s directory
- NLog.config in application’s directory (Name sensitive; using docker dotnet core)
- NLog.dll.nlog in a directory where NLog.dll is located (only if NLog isn't installed in the GAC)
serilog 中是否有类似的行为?
我自己在这个 wiki 中找到了答案。
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("debug.json")
.Build();
var logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.CreateLogger();
其中 debug.json
是应用程序目录中可以更改的文件。我的示例文件看起来像
{
"Serilog": {
"Using": [ "Serilog.Sinks.File" ],
"MinimumLevel": "Debug",
"WriteTo": [
{ "Name": "File", "Args": { "path": "log.log" } }
],
"Properties": {
"Application": "Sample"
}
}
}