log4net:如何过滤附加程序?

log4net: how to filter appenders?

据我所知,log4net 将日志记录到所有活动的 appender。 我希望有可能将日志记录输出到所有活动但按条件(名称的一部分等)排除一些附加程序 是否可以像在 NLog 中那样过滤附加程序?

您可以向 appender 添加过滤器

<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
...
  <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="DEBUG" />
    <levelMax value="WARN" />
  </filter>
...
</appender>

一些过滤器是:

> log4net.Filter.LevelMatchFilter 
> log4net.Filter.LevelRangeFilter
> log4net.Filter.LoggerMatchFilter 
> log4net.Filter.StringMatchFilter
> log4net.Filter.PropertyFilter 
> log4net.Filter.DenyAllFilter

参见:Filter Documentation