Если вы хотите использовать ApplicationInsights
с WebJob, вам нужно использовать пакет Microsoft.Azure.WebJobs.Logging.ApplicationInsights
nuget, даже если это бета-версия.
Вам нужно всего три пакета:
- Microsoft.Azure.WebJobs.Logging.ApplicationInsights
- Microsoft.Extensions.Logging
- Microsoft.Extensions.Logging.Console
Настройка JobHostConfiguration
string instrumentationKey = Environment.GetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY");
if (!string.IsNullOrEmpty(instrumentationKey))
{
// build up a LoggerFactory with ApplicationInsights and a Console Logger
config.LoggerFactory = new LoggerFactory().AddApplicationInsights(instrumentationKey, null).AddConsole();
config.Tracing.ConsoleLevel = TraceLevel.Off;
}
Примечание : не забудьте добавить APPINSIGHTS_INSTRUMENTATIONKEY
в настройках приложения.
Что касается фильтрации ILogger
, вы можете обратиться к Application Insights Integration
wiki, CategoryLevels
позволяет вам указать уровни журналов для определенных категорий, чтобы вы могли точно настроить выходные данные журналов.
И вы можете добавить LogError
с кодом:
public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger logger)
{
//you can directly use this line of code.
logger.LogError(new Exception(),"it is a test error...");
}
Обновление
Обновление: