ASP.NET Core 应用启动出现异常时不显示具体错误信息的问题

2020-02-22 16:27发布

问题:

当 ASP.NET Core 应用在启动时执行 Program.cs 中的代码遇到异常,.NET Core 运行时只会显示 Aborted (core dumped) 错误信息,不会显示具体的错误信息。

比如今天遇到的:

   at Serilog.ConfigurationLoggerConfigurationExtensions.Configuration(LoggerSettingsConfiguration settingConfiguration, IConfiguration configuration, DependencyContext dependencyContext)
   at CNBlogs.News.WebApi.Program.<>c.<CreateHostBuilder>b__1_1(WebHostBuilderContext hostingContext, LoggerConfiguration loggerConfiguration) in /src/CNBlogs.News.WebApi/Program.cs:line 20
   at Serilog.SerilogWebHostBuilderExtensions.<>c__DisplayClass1_0.<UseSerilog>b__0(WebHostBuilderContext context, IServiceCollection collection)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass10_0.<ConfigureServices>b__0(HostBuilderContext context, IServiceCollection builder)
   at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()
   at Microsoft.Extensions.Hosting.HostBuilder.Build()
   at CNBlogs.News.WebApi.Program.Main(String[] args) in /src/CNBlogs.News.WebApi/Program.cs:line 11

Aborted (core dumped

以及昨天遇到的 ASP.NET Core 应用启动时报错:"Aborted (core dumped)" 。

请问如何解决?

回答1:

错怪 ASP.NET Core 了,是 Kubernetes 默认显示的日志行数问题(默认是10行)。

kubectl logs --since=5m -l app=news-api

上面的命令只显示10行日志,所以只看到部分的 ASP.NET Core 错误信息。

加上 --tail=-1 参数就不限制行数了。

kubectl logs --tail=-1 --since=30m -l app=news-api


标签: .net core k8s