Log4net вход в AppInsight как трассировка - PullRequest
0 голосов
/ 26 сентября 2018

В настоящее время я использую Log4net Appender для App Insight, чтобы зарегистрировать ошибку в Application Insight.

 TelemetryConfiguration.Active.InstrumentationKey = "XXXX";

            var tc = new TelemetryClient();
            var log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            XmlConfigurator.Configure();
            log.Error(ex+ "@"+ CodeBlock); **IN this case its loggin as Trace.**             log.Fatal(ex + "@" + CodeBlock);
            log.Info(ex + "@" + CodeBlock);

            TelemetryConfiguration.Active.TelemetryChannel.DeveloperMode = true;
            tc.Flush();
            Thread.Sleep(5000);

В этом случае все события регистрируются как Trace.Но там, где я ожидаю, это зарегистрировано как исключение.Я могу использовать объект телеметрии, чтобы передать исключение, но тогда не будет никакого результата использования Log4net.Мы не можем передать запись в журнал другим средствам ведения журнала, кроме App Insight.

1 Ответ

0 голосов
/ 27 сентября 2018

Для зарегистрированных как исключение, вы должны использовать эту строку кода log.Error("your message",new Exception());

В окне вывода Visual Studio, если вы используете log.Error("your message",new Exception());, вы можете увидеть, что Application Insights Telemetry имеет имя, оканчивающееся на Exception, как показано ниже: enter image description here

Затем перейдите на лазурный портал, вы увидите, что он выглядит как исключение, снимок экрана ниже: enter image description here

...