C# 如何获取ASP.NET核心应用程序关闭的原因?

C# 如何获取ASP.NET核心应用程序关闭的原因?,c#,asp.net-core,kubernetes,google-kubernetes-engine,asp.net-core-2.2,C#,Asp.net Core,Kubernetes,Google Kubernetes Engine,Asp.net Core 2.2,我已经将我的ASP.NET Core 2.2应用程序封装到Docker image中,然后将其部署到Google Kubernetes引擎。应用程序定期启动,但偶尔会随机关闭。日志中没有关于发生了什么的特别提示,我得到的只是: I 2019-07-11T19:36:07.692416088Z Application started. Press Ctrl+C to shut down. I 2019-07-11T20:03:59.679718522Z Application is shutti

我已经将我的ASP.NET Core 2.2应用程序封装到Docker image中,然后将其部署到Google Kubernetes引擎。应用程序定期启动,但偶尔会随机关闭。日志中没有关于发生了什么的特别提示,我得到的只是:

I 2019-07-11T19:36:07.692416088Z Application started. Press Ctrl+C to shut down. 
I 2019-07-11T20:03:59.679718522Z Application is shutting down...
有什么方法可以让我知道为什么应用程序会关闭?我知道您可以在关机时注册事件处理程序,如:

public class Startup
{
    public void Configure(IApplicationBuilder app, IApplicationLifetime applicationLifetime)
    {
        applicationLifetime.ApplicationStopping.Register(OnShutdown);
    }

    private void OnShutdown()
    {
         //this code is called when the application stops
    }
}

但我如何从中找出应用程序关闭的原因呢?

问题是,默认情况下,我的ASP.NET核心Web Api项目没有处理根路径。因此,
/
受到健康检查的影响,当它没有得到
200 OK
返回时,GKE应该会关闭Kubernetes吊舱。

这可能是一个明显的建议,但是如何提高日志详细性?您是否为此配置了日志记录?如果是,如何配置?如果您有并且仍然没有日志,可能是应用程序被外部关闭,而不是应用程序中的异常。可能是服务器关闭,如果应用程序处于理想状态,我们在azure中遇到了这个问题,我们必须启用azure始终打开选项。@KrunalParar我正在部署到Google cloud,在那里它是不同的问题。不幸的是,我仍然不知道如何找到关闭的原因,但至少在了解了更多GKE的工作原理后,我猜到了问题所在。而且打开日志冗余仍然不能给出关闭的原因。