考虑这个 app.config
文件中的 appSetting
条目:
<add key="serilog:write-to:RollingFile.pathFormat"
value="ServerServiceApp-{Date}.log" />
这是在应用程序启动时完成的:
Log.Logger = new LoggerConfiguration()
.ReadFrom.AppSettings()
.Enrich.WithThreadId()
.CreateLogger();
这是在一个Windows服务程序中。日志文件最终会出现在这里:
C:\Windows\SysWOW64
显然,我们更希望日志文件位于与此服务的 .exe 相同的目录中(客户不希望我们将东西写入 SysWOW64)。但是,如何做到呢?
我们需要在其中添加 ReadFrom.AppSettings,以便客户可以在 app.config 中按需提供 serilog 设置。
在完成 ReadFrom.AppSettings 后是否有一种方法可以更改用于日志文件的目录?
如果我们能够像这样说就太棒了:
<add key="serilog:write-to:RollingFile.pathFormat"
value="{ApDomainBaseDirectory}\ServerServiceApp-{Date}.log" />
(而{Date}应该放在文件路径中的位置,这一点有文档说明吗?)