【问题标题】:Log4net Logging to AppInsight as TraceLog4net 作为跟踪记录到 AppInsight
【发布时间】:2018-09-26 10:57:08
【问题描述】:

目前我正在使用 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);

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

【问题讨论】:

  • 您是否按照以下答案解决了问题?
  • 是的,它现在可以工作了,因为它有点延迟,但它一直在工作。
  • 如果有效,您能帮忙将其标记为答案吗?它会帮助别人。

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


【解决方案1】:

对于记录为异常,你应该使用这行代码log.Error("your message",new Exception());

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

然后转到 azure 门户,您可以看到它作为 Exception,截图如下:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多