我已打开应用程序日志记录来传输日志。问题是流式传输器仅在 12 小时内处于活动状态(默认超时为 2)。在我们的案例中,某些问题很少发生,因此当用户回复我时,时间已经过去了(在某些情况下,由于其他情况,无法重现错误)。
我们记录的内容相当广泛,只要我坐在本地环境中,我几乎可以在终端窗口中跟踪任何内容。每个事件、警告、错误等都会被记录下来,包括 GUID。这很好用。
如何在服务器上托管时生成的日志中通过 GUID 进行搜索?我读过一些博客,但感到很困惑 - 部分原因是 Azure 中的 GUI 最近发生了变化,部分原因是我看不出如何像在本地一样访问记录信息的连续负载。也许还有更好的方法,我不知道,但我尝试关注有关该主题的 MSDN。
可能有更适合您的特定需求的解决方案。
我发现流式日志只能提供 12 小时。我可能错了,但还有其他更简单的解决方案,而不是与不适用于长期故障排除的东西作斗争。
这就是我们针对托管在 Azure 应用服务中的一些 dotnet 应用程序所做的事情。
使用 ILogger 是第一步,但您的登录提供商是什么?默认的 Microsoft 提供商不适合我们的需求。我们选择了 Serilog,因为我们以多种不同的方式部署相同的应用程序,我们只需更新 appsettings.json 即可修改日志的写入位置。
对于简单的最小 api
所有日志都是表格
如果您选择 serilog,它有大量的文档和示例,包括 SO。