Ограничить сообщения журнала, отправленные appinsight из моей службы приложений - PullRequest
0 голосов
/ 17 июня 2019

My App Service регистрирует приложения с помощью TelemetryClient. Это работает нормально, и я все записал, как ожидалось. У меня проблема в том, что теперь я веду слишком много журналов и мои затраты на приложения слишком высоки. Мне нужно уменьшить ведение журнала, просто фиксируя предупреждения и ошибки, но я могу регистрировать сообщения об отладке и трассировке, если есть проблема. Я сделал это с помощью своей функции Azure, добавив фильтры в раздел ведения журнала в файле host.json функции. Есть ли аналогичный способ сделать это с проектом службы приложений, чтобы я мог изменить фильтрацию на уровне журнала через портал, а не перекомпилировать и развернуть новый выпуск?

Файл host.json для моей функции Azure выглядит следующим образом. Мне нужно что-то похожее для моего сайта службы приложений:

"logging": {
    "fileLoggingMode": "always",
    "logLevel": {
        "Function": "Warning",
        "Default": "Warning",
        "System": "Information",
        "Microsoft": "Warning",
        "Microsoft.AspNetCore.Mvc.Internal": "Information",
        "Microsoft.AspNetCore.Authentication": "Information"
    }
}

1 Ответ

1 голос
/ 18 июня 2019

Монитор Azure предоставляет простой способ настройки LogLevel для ASP.NET Core. Фильтрация может быть выполнена либо в конфигурации (обычно с использованием файла appsettings.json), либо в коде.

Приведенный ниже пример предоставлен официальным документом: Создание правил фильтрации в конфигурации с appsettings.json .

{
  "Logging": {
    "ApplicationInsights": {
      "LogLevel": {
        "Default": "Warning",
        "Microsoft": "Error"
      }
    },
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

Обновление: Для asp .net я обнаружил, что ApplicationInsights.config может указывать уровень модулей телеметрии. Ниже приведен пример о событиях EventSource .

    <Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener">
      <Sources>
        <Add Name="MyCompany" Level="Verbose" />
      </Sources>
    </Add> 
...