考虑这个app.config appSetting条目:
<add key="serilog:write-to:RollingFile.pathFormat"
value="ServerServiceApp-{Date}.log" />
Run Code Online (Sandbox Code Playgroud)
这是在app启动时完成的:
Log.Logger = new LoggerConfiguration()
.ReadFrom.AppSettings()
.Enrich.WithThreadId()
.CreateLogger();
Run Code Online (Sandbox Code Playgroud)
这是在Windows服务应用程序中.日志文件最终在这里:
C:\Windows\SysWOW64
Run Code Online (Sandbox Code Playgroud)
显然,我们宁愿将日志文件放在同一目录中,该目录包含此服务的.exe(客户不希望我们将内容写入SysWOW64).但是怎么样?
我们需要ReadFrom.AppSettings,以便客户可以根据需要在app.config中提供serilog设置.
在ReadFrom.AppSettings完成后,是否有某种方法可以更改用于日志文件的目录?
如果我们能说出类似的话会很棒:
<add key="serilog:write-to:RollingFile.pathFormat"
value="{ApDomainBaseDirectory}\ServerServiceApp-{Date}.log" />
Run Code Online (Sandbox Code Playgroud)
({Date}在哪里,可以放在文件路径中,记录?)