我正在创建一个应用程序,其中包含多个在本地 Azure Service Fabric 上运行的微服务。我将在 Windows 服务器上托管它。
进行日志记录的推荐方法是什么?
我阅读了有关使用 Windows 事件跟踪 (ETW) 的内容。我应该使用这个吗?我将如何集中收集日志数据?
或者我应该使用 ASP.NET MVC Core Logging 并将日志保存到中央文件共享?
最佳答案
您可以使用 Azure Diagnostics EventFlow获取由您的 Service Dabric 服务生成的 ETW 事件。通过在新的 SF 服务中使用(并向其中添加自定义事件)为您准备的 Service/ActorEventSource,您可以在底层 Service Fabric 框架生成的 ETW 事件之上记录来自您的服务的 ETW 事件。
在 EventFlow 中,您可以为这些设置输入(ETW 事件)和输出。您可以在这里选择适合您的输出。例如,如果您在本地运行并具有弹性设置,则可以将 ETW 事件路由到该位置并使其可在那里搜索。例如,如果您想登录到您自己的数据库,您还可以使用您自己的输出扩展 EventFlow。
关于在本地记录 Azure Service Fabric 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42954753/