有啥方法可以监控 log4net 日志文件以获取应用程序洞察力

Posted

技术标签:

【中文标题】有啥方法可以监控 log4net 日志文件以获取应用程序洞察力【英文标题】:Is there any way to monitoring a log4net log file to application insights有什么方法可以监控 log4net 日志文件以获取应用程序洞察力 【发布时间】:2022-01-13 22:41:00 【问题描述】:

不更改任何代码,直接监控从应用服务到应用洞察的 log4net 日志文件输出。有什么办法可以解决吗?

【问题讨论】:

【参考方案1】:

如果您想利用log4net,,请确保您拥有ApplicationInsights.config,并确保文件的属性“Copy To Output Directory” 设置为“Copy always” 选项。

在 Azure 应用服务上配置 log4net

使用 NuGet 安装 log4net.dll 二进制文件 配置 log4net 名称,在 web.config 中键入属性
    <configuration>  
    <configSections>  
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>  
    </configSections>  
    </configuration>
配置 log4net 属性 在配置部分之后直接添加此配置
    <log4net>  
    <root>  
    <level value="Debug"/>  
    <appender-ref ref="LogFileAppender"/>  
    </root>  
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">  
    <param name="File" value="D:\Home\LogFiles\Log4Net\Log4Net.log"/>  
    <param name="AppendToFile" value="true"/>  
    <rollingStyle value="Size"/>  
    <maxSizeRollBackups value="10"/>  
    <maximumFileSize value="3MB"/>  
    <staticLogFileName value="true"/>  
    <layout type="log4net.Layout.PatternLayout">  
    <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline"/>  
    </layout>  
    </appender>  
    <logger name="SleepyCore">  
    <level value="INFO"/>  
    </logger>  
    </log4net>`
修改 Global.asax Application_Start() 方法 创建 ILog 接口的实例 在 KUDU/SCM 上创建目录 写日志 下载分析

更多详情请参考log4net on Azure App Service、Log4Net for Application Insights、Application Insights和Log4Net。

【讨论】:

@parallelbgls - 如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢

以上是关于有啥方法可以监控 log4net 日志文件以获取应用程序洞察力的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式强制 log4net 释放日志文件以便可以访问它?

以编程方式配置 log4net,但额外的日志记录到控制台

基于log4net的日志组件扩展分装,实现自动记录交互日志 XYH.Log4Net.Extend

Asp.Net Core Log4Net 配置分多个文件记录日志(不同日志级别)

log4net到底有什么用?

性能日志库 [关闭]