当 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)" 。
请问如何解决?
错怪 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