【问题标题】:Serilog doesn't work in Reliable Actor ServicesSerilog 在 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。

标签: c# azure azure-service-fabric actor serilog


【解决方案1】:

这里最可能的原因是 Serilog Logger 在托管 actor 的进程关闭之前不是 Dispose()d(如果您正在设置静态 Log 类而不是直接使用记录器实例,这是通过Log.CloseAndFlush() 实现的。

【讨论】:

  • 谢谢你。这对我有用。我假设演员在 Serilog 工作之前被处置,然后现在我在完成执行之前调用 CloseAndFlush 并且它可以工作......谢谢
  • 太好了,感谢您的回复。有助于将问题标记为已回答,以便其他人知道。干杯!
  • @novac 如果它解决了您的问题,请记住使用答案旁边的绿色复选标记。它让其他人知道您的问题已解决,并为 Nicholas 提供想象中的 Internet 点,这些点可以解锁 Stack Overflow 上的真正权限,这样他就可以有更多的工具来贡献。
猜你喜欢
  • 1970-01-01
  • 2022-07-07
  • 1970-01-01
  • 2018-01-09
  • 1970-01-01
  • 2015-04-02
  • 2021-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多