Следует ли использовать для ведения журналов .NET в Azure: AddAzureWebAppDiagnostics или AddApplicationInsights?

Я хочу, чтобы в моем коде было специальное ведение журнала, которое будет размещаться в Azure. Я нашел два расширения для поставщиков журналов, между которыми я не уверен, в чем разница.

Два провайдера, которых я использую в своем program.cs:

builder.Logging.AddAzureWebAppDiagnostics();
builder.Logging.AddApplicationInsights();

Я тоже пытался прокомментировать, и в журналах Azure трассировка все та же. Любая идея, в чем разница между ними и какой из них я должен придерживаться?

Но, похоже, я смог найти журналы из Application Insights с помощью AddAzureWebAppDiagnostics.

Lamar 19.11.2022 22:32
Как настроить Tailwind CSS с React.js и Next.js?
Как настроить Tailwind CSS с React.js и Next.js?
Tailwind CSS - единственный фреймворк, который, как я убедился, масштабируется в больших командах. Он легко настраивается, адаптируется к любому...
LeetCode запись решения 2536. Увеличение подматриц на единицу
LeetCode запись решения 2536. Увеличение подматриц на единицу
Увеличение подматриц на единицу - LeetCode
Переключение светлых/темных тем
Переключение светлых/темных тем
В Microsoft Training - Guided Project - Build a simple website with web pages, CSS files and JavaScript files, мы объясняем, как CSS можно...
Отношения "многие ко многим" в Laravel с методами присоединения и отсоединения
Отношения "многие ко многим" в Laravel с методами присоединения и отсоединения
Отношения "многие ко многим" в Laravel могут быть немного сложными, но с помощью Eloquent ORM и его моделей мы можем сделать это с легкостью. В этой...
В PHP
В PHP
В большой кодовой базе с множеством различных компонентов классы, функции и константы могут иметь одинаковые имена. Это может привести к путанице и...
Карта дорог Беладжар PHP Laravel
Карта дорог Беладжар PHP Laravel
Laravel - это PHP-фреймворк, разработанный для облегчения разработки веб-приложений. Laravel предоставляет различные функции, упрощающие разработку...
1
1
116
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
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.
  • В Azure App service => App Service Logs => включить Application logging (Filesystem).

  • После включения файловой системы журналы консоли In Kudu создаются в новом файле по пути D:\home\LogFiles\Application.

builder.Logging.AddApplicationInsights();

Метод AddApplicationInsights() предназначен для настройки Application Insights для службы приложений Azuer.

  • Установите пакет NuGet Microsoft.Extensions.Logging.ApplicationInsights.
  • Для AddApplicationInsights() требуется LogLevel. Он не упоминается, по умолчанию он принимает 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

Спасибо за подробный ответ! Короче говоря, один сохраняет журналы в файловой системе, а другой сохраняет их в таблице аналитики приложений трассировки, это правильно? Есть ли другие различия между двумя типами журналов?

Lamar 23.11.2022 20:44

Да..точно..это главное отличие, которое я заметил.

Harshitha 24.11.2022 01:05

Другие вопросы по теме