Я хочу, чтобы в моем коде было специальное ведение журнала, которое будет размещаться в Azure. Я нашел два расширения для поставщиков журналов, между которыми я не уверен, в чем разница.
Два провайдера, которых я использую в своем program.cs:
builder.Logging.AddAzureWebAppDiagnostics();
builder.Logging.AddApplicationInsights();
Я тоже пытался прокомментировать, и в журналах Azure трассировка все та же. Любая идея, в чем разница между ними и какой из них я должен придерживаться?
builder.Logging.AddAzureWebAppDiagnostics();
Используя метод AddAzureWebAppDiagnostics, мы можем добавить средство ведения журнала диагностики Azure и получить журналы диагностики в службе приложений Azure.
Нам нужно настроить параметры файлового регистратора в файле Program.cs.
Установите пакет NuGet Microsoft.Extensions.Logging.
В файл Program.cs добавьте приведенные ниже строки кода для настройки журналов диагностики.
using Microsoft.Extensions.Logging.AzureAppServices;
builder.Logging.AddAzureWebAppDiagnostics();
builder.Services.Configure<AzureFileLoggerOptions>(options =>
{
options.FileName = "Diagnostics-Logs";
options.FileSizeLimit = 50 * 1024;
options.RetainedFileCountLimit = 3;
});
Azure App service
=> App Service Logs
=> включить Application logging (Filesystem)
.D:\home\LogFiles\Application
.builder.Logging.AddApplicationInsights();
Метод AddApplicationInsights() предназначен для настройки Application Insights для службы приложений Azuer.
Microsoft.Extensions.Logging.ApplicationInsights
.LogLevel.Warning
.В файл Program.cs добавьте приведенный ниже код.
using Microsoft.Extensions.Logging.ApplicationInsights;
builder.Logging.AddApplicationInsights();
Контроллер
[HttpGet(Name = "GetWeatherForecast")]
public IEnumerable<WeatherForecast> Get()
{
_logger.LogTrace("Trace Log");
_logger.LogDebug("Debug Log");
_logger.LogInformation("Information Log");
_logger.LogWarning("Warning Log");
_logger.LogError("Error Log");
_logger.LogCritical("Critical Log");
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
Статистика приложений
Ссылки взяты из AddAzureWebAppDiagnostics и AddApplicationInsights
Спасибо за подробный ответ! Короче говоря, один сохраняет журналы в файловой системе, а другой сохраняет их в таблице аналитики приложений трассировки, это правильно? Есть ли другие различия между двумя типами журналов?
Да..точно..это главное отличие, которое я заметил.
Но, похоже, я смог найти журналы из Application Insights с помощью AddAzureWebAppDiagnostics.