Обновление 0416: Добавление решения, указанного в операторе:
, путем помещения CreateWebHostBuilder(args).Build().Run();
в блок try/catch
и отправки исключения напрямую с использованием TelemetryClient
.
Обновление:
Для ASP. NET core 2.1 это возможно (проверено на моей стороне, обратите внимание: здесь не нужно использовать ILogger, он может автоматически собирать необработанные исключения в program.cs или startup.cs). Вы можете добавить следующий код в Program.cs:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureLogging(
builder =>
{
builder.AddApplicationInsights("ikey");
builder.AddFilter<Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider>
(typeof(Program).FullName, LogLevel.Trace);
builder.AddFilter<Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider>
(typeof(Startup).FullName, LogLevel.Trace);
}
);
Для более подробной информации, вы можете обратиться к этой статье .
Оригинальный ответ:
К сожалению, log errors during startup
не поддерживается.
Вот официальное do c, и в нем говорится:
Существует ряд случаев, которые фильтры исключений не могут обработать. Например:
1. Исключения, создаваемые конструкторами контроллера.
2. Исключения, создаваемые обработчиками сообщений.
3. Исключения, создаваемые при маршрутизации.
4. Исключения, создаваемые при сериализации содержимого ответа.
5. Исключение, создаваемое при запуске приложения.
6. Исключение, создаваемое в фоновых задачах.