log4net字符串匹配过滤器

时间:2013-03-27 20:40:45

标签: c# log4net

我只想记录我的显式设置消息。我设置了像log.Info("My message - User is logged in");这样的消息所以我想在这样的log4net配置中使用stringmatch过滤器作为过滤器类型

<filter type="log4net.Filter.StringMatchFilter">
  <stringToMatch value="My message - " />
  <filter type="log4net.Filter.DenyAllFilter" />

但是在logfile里面仍然有很多消息(映射等),所以我在这里做错了。请帮忙

由于

1 个答案:

答案 0 :(得分:0)

我不会通过过滤器来执行此操作,而是通过侦听特定的记录器。要从登录类获取特定消息,您需要为该记录器设置特定名称:

ILog logger = LogManager.GetLogger("MyLoginClass"); //typeof(LoginClass).Name

在您的配置中添加特定登录类记录器的配置:

<logger name="MyLoginClass">
  <level value="INFO"/>
  <appender-ref ref="MyAppender"/>
</logger>