【问题标题】:Unable to log Trace events to Application Insights无法将跟踪事件记录到 Application Insights
【发布时间】:2018-10-20 06:11:02
【问题描述】:

我们最近将 Azure 应用服务加入了 AppInsights。

我正在使用以下代码来使用跟踪:

 Trace.WriteLine("Api v1 called by user");
 Trace.TraceWarning("Tracking warning via AI");

Trace 类引用自 System.Diagnostics

我已经手动根据this页面在我的web.config中添加了以下代码。:

<system.diagnostics>
      <trace autoflush="false" indentsize="4">
        <listeners>
          <add name="myListener"
               type="System.Diagnostics.TextWriterTraceListener"
               initializeData="TextWriterOutput.log" />
          <remove name="Default" />
        </listeners>
      </trace>
    </system.diagnostics>
  </configuration>

但是,Trace.WriteLine and TraceWarning 事件被收集。

对我有用的是直接使用 AppInsights Telemetry 库来使用 TrackTrace 事件,如下所示。

telemetry.TrackTrace("Tracking trace via AI for user:", SeverityLevel.Information); //This works

我想使用 Trace WriteLine 和 TraceWarning 并希望在 AppInsights 中看到这些,因为后者需要我们更改 TelemetryClient 库的所有引用。

我添加了最新的ApplicationInsights.TraceListener NuGet 包。但是,这并没有改变我的 web.config 文件。我必须手动添加&lt;system.diagnostics&gt; 标签,如上所示。 我有什么遗漏吗?

【问题讨论】:

    标签: c# azure logging trace azure-application-insights


    【解决方案1】:

    添加 ApplicationInsights.TraceListener NuGet 包应该会自动修改 Web.Config,如下链接所示: https://github.com/Microsoft/ApplicationInsights-dotnet-logging#systemdiagnostics

    如果Web.config由于某种原因没有被修改,请手动添加以下内容

    <system.diagnostics>
        <trace>
          <listeners>
            <add name="myAppInsightsListener" type="Microsoft.ApplicationInsights.TraceListener.ApplicationInsightsTraceListener, Microsoft.ApplicationInsights.TraceListener" />
          </listeners>
        </trace>
      </system.diagnostics>
    

    【讨论】:

    • 顺便说一句 - 如果你的应用程序基于 .net 核心,那么你需要使用 2.6.0-beta3 的 tracelistener 包。 github.com/Microsoft/ApplicationInsights-dotnet-logging/blob/…
    • 谢谢@cjthomas。我必须手动添加该代码块,因为添加 NuGet 包不会更改 web.config。但是,我仍然看不到 System.Diagnostic.Trace。 1 奇怪的是,在 Visual Studio 中单击“配置 AppInsights”选项后,我没有看到“启用日志适配器选项”选项。我错过了什么吗?
    • 你用什么工具来添加nuget?我使用了 Visual Studio 2017,并将这个 nuegt 添加到 WebApplication 修改了 web.config。此外,应用程序洞察力也会收集跟踪信息。您能否再试一次,并确保修改后的 web.config 以及 applicationinsights.config(包含检测密钥)并复制到部署它的服务器。
    • 请尝试按照此处的说明进行操作,看看是否有帮助:docs.microsoft.com/en-us/azure/application-insights/…
    猜你喜欢
    • 2023-01-09
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2015-10-28
    • 2017-06-28
    • 1970-01-01
    相关资源
    最近更新 更多