相关疑难解决方法(0)

Log4Net配置日志级别

如何使Log4net仅记录信息级别日志?这甚至可能吗?你能设定一个门槛吗?

这就是我所拥有的,它会像我期望的那样记录Info及以上.有什么我可以做它只有日志信息?

<logger name="BrokerCollection.Model.XmlDocumentCreationTask">
  <appender-ref ref="SubmissionAppender"/>
  <level value="Info" />
</logger>
Run Code Online (Sandbox Code Playgroud)

log4net

61
推荐指数
4
解决办法
10万
查看次数

如何在log4net中过滤自定义级别?

我复制了log4net示例以实现自定义日志级别AUDIT.我将AUDIT定义为值35000,介于DEBUG 30000和INFO 40000之间.

以下是我的配置部分.我有一个appender记录所有级别和一个应该只记录AUDIT级别(这只是为了测试)

<log4net>
  <appender name="FileAppender" type="log4net.Appender.FileAppender" >
    <file value="testrun.log" />
    <layout type="log4net.Layout.PatternLayout" >
      <conversionPattern value="%date{HH:mm:ss:fff} [%thread] %-5level %logger{1} - %message%newline" />
    </layout>
  </appender>
  <appender name="FileAppender.Audit" type="log4net.Appender.FileAppender" >
    <filter type="log4net.Filter.LevelMatchFilter">
      <levelToMatch value="AUDIT" />
    </filter>
    <file value="testrun.audit.log" />
    <layout type="log4net.Layout.PatternLayout" >
      <conversionPattern value="%date{HH:mm:ss:fff} [%thread] %-5level %logger{1} - %message%newline" />
    </layout>
  </appender>  
  <root>
    <level value="ALL" />
    <appender-ref ref="FileAppender" />
    <appender-ref ref="FileAppender.Audit" />
  </root>
</log4net>
Run Code Online (Sandbox Code Playgroud)

测试方法是

private static readonly IAuditLog log = AuditLogManager.GetLogger(typeof(Program));
public static void Main()
{
    log.Debug("Debug");
    log.Audit("Audit");
    log.Info("Info");
} …
Run Code Online (Sandbox Code Playgroud)

.net configuration logging log4net

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

log4net ×2

.net ×1

configuration ×1

logging ×1