BMa*_*Mac 27 c# asp.net log4net azure azure-application-insights
我正在尝试配置我的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
我在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>
Run Code Online (Sandbox Code Playgroud)
尝试安装Log4Net Appender的 PreRelease 版本。
我按照其他人创建的步骤(archive.org backup)创建了一个规范的 ASP.NET MVC 示例,并且遇到了上述相同的问题。但随后按照Application Insights 文档中编写的一些步骤进行操作,发现那些指定为 log4net 附加程序安装 PreRelease 包的步骤。完成后,它起作用了:)
小智 2
您的 log4net 配置正确;我已经在测试网站中使用了它并且它有效。此外,由于您在 Fiddler 中看到了其他 AI 数据,因此您的 AI 也已正确配置。在这种情况下要查找的一件事是 log4net.Config.XmlConfigurator 属性。它是程序集级别的属性,可能需要正确读取 log4net 配置。
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Run Code Online (Sandbox Code Playgroud)
您能否确保在您的项目中指定了它,然后重试?
| 归档时间: |
|
| 查看次数: |
15810 次 |
| 最近记录: |