Serilog 在 Reliable Actor Services 中不起作用
Posted
技术标签:
【中文标题】Serilog 在 Reliable Actor Services 中不起作用【英文标题】:Serilog doesn't work in Reliable Actor Services 【发布时间】:2018-07-02 09:12:38 【问题描述】:我有两个 Service Fabric 应用程序。第一个是 Asp.Net Core Service Fabric,第二个是使用计时器运行的 Actor Service。
两者都使用 Serilog 设置。 Asp.Net Core 运行良好。那里没问题,但是第二个服务,Actor Service,我使用相同的配置和相同的 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" />
【问题讨论】:
您能分享一下您是如何在 Actor 服务中设置 Serilog 的吗? 已设置编辑 好了,配置就到这里了,还展示了如何在服务中初始化 Serilog。 【参考方案1】:这里最可能的原因是 Serilog Logger
在托管 actor 的进程关闭之前不是 Dispose()
d(如果您正在设置静态 Log
类而不是直接使用记录器实例,这是通过Log.CloseAndFlush()
实现的。
【讨论】:
谢谢你。这对我有用。我假设演员在 Serilog 工作之前被处置,然后现在我在完成执行之前调用 CloseAndFlush 并且它可以工作......谢谢 太好了,感谢您的回复。有助于将问题标记为已回答,以便其他人知道。干杯! @novac 如果它解决了您的问题,请记住使用答案旁边的绿色复选标记。它让其他人知道您的问题已解决,并为 Nicholas 提供想象中的 Internet 点,这些点可以解锁 Stack Overflow 上的真正权限,这样他就可以有更多的工具来贡献。以上是关于Serilog 在 Reliable Actor Services 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何为远程 Service Fabric 集群创建 Actor 代理
Serilog高级玩法之用Serilog记录所选终结点附加属性