Log4net作为跟踪记录到AppInsight

时间:2018-09-26 10:57:09

标签: c# log4net azure-application-insights log4net-appender

当前,我正在使用Log4net Appender for 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);

在这种情况下,所有事件都记录为跟踪。但是我希望它记录为异常。我可以使用遥测对象传递异常,但是使用Log4net不会有任何结果。除了App洞察力,我们无法将日志条目传递给其他任何日志记录工具。

1 个答案:

答案 0 :(得分:1)

对于记录为异常的情况,应使用以下代码行log.Error("your message",new Exception());

在Visual Studio输出窗口中,如果使用log.Error("your message",new Exception());,则可以看到Application Insights Telemetry的名称以Exception结尾,如下所示: enter image description here

然后转到azure门户,您可以看到它作为Exception,下面的屏幕截图: enter image description here