Управление пользовательской регистрацией в приложении Insight TelemetryClient - PullRequest
0 голосов
/ 14 февраля 2019

Я использовал TelemetryClient, чтобы утопить журналы приложений в Application Insight.Теперь я хочу контролировать свою регистрацию в соответствии со средой.

Я попытался установить LogLevel , используя файл host.json, но он не работает.Я не вижу никакого свойства в TelemetryClient для передачи LogLeve из AppSettings.

public class Log : ILog
{
    private static TelemetryClient telemetryClient = new TelemetryClient() { InstrumentationKey = ConfigurationManager.AppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] };

    public void Error(string message, Exception ex = null)
    {
        telemetryClient.TrackTrace(message, SeverityLevel.Error);
        if (ex != null)
            telemetryClient.TrackException(ex);
    }

    public void Info(string message)
    {
        telemetryClient.TrackTrace(message, SeverityLevel.Information);
    }

    public void Verbose(string message)
    {
        telemetryClient.TrackTrace(message, SeverityLevel.Verbose);
    }

    public void Warning(string message)
    {
        telemetryClient.TrackTrace(message, SeverityLevel.Warning);
    }
}

host.json

{  "logger": {    "categoryFilter": {      "defaultLevel": "Information"     }}

Функция

public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)]HttpRequestMessage req,
        ExecutionContext context, [Inject] ILog log)
    {
        log.Verbose("verbose log");
        log.Info("info log");
        log.Error("error log");
        log.Warning("warning log");
        return req.CreateResponse(HttpStatusCode.OK, "Okay");
    }

ApplicationInsight

Я не хочу подробного входа в Prov env.

enter image description here

...