我有一个微服务在.NET Core下作为Docker容器运行,从EventHub获取大量数据并写入SQL Server时记录到Azure的Application Insights中。然而,偶尔会出现未处理的SqlException异常,这似乎是在后台线程上抛出的,因此我无法捕获和处理它,也无法修复此错误。
解决方法是将重启策略设置为“始终”,这样服务就会重新启动。这很有效,但现在我无法在Application Insights中跟踪此异常。
我猜测CLR会将未处理的异常写入stderr,因此可以通过一些grep在Docker日志中查找,但是否有办法在启动时检查并随后将其记录到Application Insights中,以便我可以发现它,而不必登录到Swarm集群并grep重启信息?
解决方法是将重启策略设置为“始终”,这样服务就会重新启动。这很有效,但现在我无法在Application Insights中跟踪此异常。
我猜测CLR会将未处理的异常写入stderr,因此可以通过一些grep在Docker日志中查找,但是否有办法在启动时检查并随后将其记录到Application Insights中,以便我可以发现它,而不必登录到Swarm集群并grep重启信息?