Serilog 在 Reliable Actor Services 中不起作用
Serilog doesn't work in Reliable Actor Services
我有两个 Service Fabric 应用程序。第一个是 Asp.Net Core Service Fabric,第二个是 运行 带有计时器的 Actor Service。
两者均使用 Serilog 进行设置。 Asp.Net 核心工作得很好。没问题,但第二个服务,Actor 服务,我使用相同的配置和相同的 nuget 包,但 Serilog 不保存任何日志。
添加配置
<add key="serilog:using:Seq" value="Serilog.Sinks.Seq" />
<add key="serilog:write-to:Seq.serverUrl" value="http://*****" />
<add key="serilog:write-to:Seq.apiKey" value="UfKpKLicyZI3hGe7Vc" />
<add key="serilog:using:RollingFile" value="Serilog.Sinks.RollingFile" />
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\File-{Date}.txt" />
<add key="serilog:write-to:RollingFile.retainedFileCountLimit" value="10" />
此处最可能的原因是 Serilog Logger
在托管 actor 的进程关闭之前未 Dispose()
d(如果您正在设置静态 Log
class 而不是直接使用记录器实例,这是通过 Log.CloseAndFlush()
).
实现的
我有两个 Service Fabric 应用程序。第一个是 Asp.Net Core Service Fabric,第二个是 运行 带有计时器的 Actor Service。
两者均使用 Serilog 进行设置。 Asp.Net 核心工作得很好。没问题,但第二个服务,Actor 服务,我使用相同的配置和相同的 nuget 包,但 Serilog 不保存任何日志。
添加配置
<add key="serilog:using:Seq" value="Serilog.Sinks.Seq" />
<add key="serilog:write-to:Seq.serverUrl" value="http://*****" />
<add key="serilog:write-to:Seq.apiKey" value="UfKpKLicyZI3hGe7Vc" />
<add key="serilog:using:RollingFile" value="Serilog.Sinks.RollingFile" />
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\File-{Date}.txt" />
<add key="serilog:write-to:RollingFile.retainedFileCountLimit" value="10" />
此处最可能的原因是 Serilog Logger
在托管 actor 的进程关闭之前未 Dispose()
d(如果您正在设置静态 Log
class 而不是直接使用记录器实例,这是通过 Log.CloseAndFlush()
).