提问人:Sumanth Shendye 提问时间:7/10/2023 更新时间:7/11/2023 访问量:40
不同日志级别的多 appender(文件和应用洞察)的配置文件设置
Config file setting for Multi appenders(file and app insight) with different log level
问:
我需要记录到文件以及具有不同日志级别的应用程序见解。我有下面的配置文件设置,该设置在文件和应用程序见解中都记录了 DEBUG 级别。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<root>
<level value="DEBUG"/>
<appender-ref ref="ConsoleAppender"/>
</root>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<level value="DEBUG" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="ApplicationInsightAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender">
<level value="ERROR" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<logger name ="appinsightlogger">
<level value ="ERROR"></level>
<appender-ref ref="ApplicationInsightAppender"/>
</logger>
</log4net>
</configuration>
我还尝试在根元素下注册两个附加器,如下所示
<root>
<level value="DEBUG"/>
<appender-ref ref="ConsoleAppender"/>
<level value ="ERROR"></level>
<appender-ref ref="ApplicationInsightAppender"/>
</root>
但仍然没有看到所需的结果。谁能帮忙?
答:
1赞
pfx
7/11/2023
#1
appender 没有属性。
Log4net 通过以下消息通知此信息。level
log4net:错误 XmlHierarchyConfigurator:找不到属性 [level] 以在 [log4net.Appender.ConsoleAppender]
若要使 appender 日志具有不同级别,请使用筛选器。
以下示例显示了如何将 配置为仅记录错误。ApplicationInsightAppender
<appender name="ApplicationInsightAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
完整示例,记录所有消息和唯一的从错误开始。ConsoleAppender
ApplicationInsightAppender
<log4net>
<root>
<level value="DEBUG"/>
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="ApplicationInsightAppender" />
</root>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="ApplicationInsightAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
</log4net>
评论