我正在尝试配置我的 azure asp.net 网站以将 log4net 跟踪发送到 Azure Application Insights。我可以在我的 azure 控制台页面 View 等中看到,因此我知道它工作正常。当配置文件处理程序时,我还可以看到 log4net 跟踪,但是当配置 log4net 以使用应用程序洞察处理程序时,我没有看到任何 log4net 条目出现在应用程序洞察仪表板中,在构建或运行时没有错误或警告 - 只是仪表板中没有结果。我查看了 Fiddler 中的网络流量,我可以看到页面浏览数据等被发送到应用程序洞察,但没有看到 log4net 跟踪流量,因此我怀疑这是一个配置问题。
另外,我在我的主项目中尝试了 TelemetryClient(),并且在仪表板中成功看到了跟踪流量。但是,这不适合我的用例,因为 TelemetryClient 似乎还不支持非 asp.net dll(即我的业务和数据逻辑位于单独的 dll 中)。
有人提供任何见解或建议吗?
我已经安装了 Microsoft.ApplicationInsights.Log4NetAppender.dll 的 nuget 包,并且正在使用 Microsoft.ApplicationInsights.0.13.2-build00132
我的 web.config 中有以下内容:https://blog.ehn.nu/2014/11/using-log4net-for-application-insights/
<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>
最佳答案
尝试安装 Log4Net Appender 的 PreRelease 版本.
我按照步骤 created by someone else 创建了一个规范的 ASP.NET MVC 示例( archive.org backup ) 并遇到了上面同样的问题。但随后遵循了一些写为in the Application Insights documentation的步骤并发现那些指定为 log4net 附加程序安装 PreRelease 包的人。完成后,它起作用了:)
关于c# - Log4Net 与应用程序洞察,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28800320/