我正在尝试配置我的 azure asp.net 网站以将 log4net 跟踪发送到 Azure Application Insights。我可以在我的 azure 控制台页面视图等中看到,因此我知道它工作正常。当使用文件处理程序配置时,我还可以看到 log4net 跟踪,但是在配置 log4net 以使用应用程序洞察处理程序时,我没有看到任何 log4net 条目出现在应用程序洞察仪表板中,在构建或运行时没有错误或警告 - 只是仪表板中没有结果。我查看了 Fiddler 中的网络流量,我可以看到页面浏览数据等被发送到应用程序洞察,但不是 log4net 跟踪流量,因此我怀疑这是一个配置问题。
另外,我在我的主项目中尝试了 TelemetryClient(),我在仪表板中成功地看到了 tracetraffic。但是,这不适合我的用例,因为 TelemetryClient 似乎还不支持非 asp.net dll(即我的业务和数据逻辑位于单独的 dll 中)。
有人提供任何见解或建议吗?
我已经为 Microsoft.ApplicationInsights.Log4NetAppender.dll 安装了 nuget 包,我正在使用 Microsoft.ApplicationInsights.0.13.2-build00132
根据https://blog.ehn.nu/2014/11/using-log4net-for-application-insights/,我的 web.config 中有以下内容
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<root>
<level value="ALL"/>
<appender-ref ref="aiAppender"/>
</root>
<appender name="aiAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline"/>
</layout>
</appender>
</log4net>
<configuration>