模式和级别上的log4net过滤器

模式和级别上的log4net过滤器,log4net,Log4net,我想通过由(阈值和模式)组成的过滤器过滤我的log4net输出。因此,我只想在级别为“ERROR”(或更高)时允许模式为“x”的日志,而在级别为“INFO”(或更高)时才允许模式为“y”的日志。我可以在一个appender中执行此操作,还是需要两个appender,每个appender都有自己的模式过滤器和阈值?Log4net允许您链接过滤器,但这仅作为“或”使用。我想你也可以让它做一个“和”的操作,但不是你真正想要的。我会编写自己的过滤器来检查级别和模式是否匹配。然后链接此筛选器的两个实例,使

我想通过由(阈值和模式)组成的过滤器过滤我的log4net输出。因此,我只想在级别为“ERROR”(或更高)时允许模式为“x”的日志,而在级别为“INFO”(或更高)时才允许模式为“y”的日志。我可以在一个appender中执行此操作,还是需要两个appender,每个appender都有自己的模式过滤器和阈值?

Log4net允许您链接过滤器,但这仅作为“或”使用。我想你也可以让它做一个“和”的操作,但不是你真正想要的。我会编写自己的过滤器来检查级别和模式是否匹配。然后链接此筛选器的两个实例,使其检查第一个条件和第二个条件(“或”操作)。不要忘记结尾处的
DenyAllFilter

我写了一个自定义过滤器,也许这有助于创建您的过滤器


两个appender可能是一种解决方法,但如果您想登录到一个文件,您会遇到可以解决的锁定问题(性能受到影响)。

Log4net允许您链接过滤器,但这只能作为“或”使用。我想你也可以让它做一个“和”的操作,但不是你真正想要的。我会编写自己的过滤器来检查级别和模式是否匹配。然后链接此筛选器的两个实例,使其检查第一个条件和第二个条件(“或”操作)。不要忘记结尾处的
DenyAllFilter

我写了一个自定义过滤器,也许这有助于创建您的过滤器


两个appender可能是一种解决方法,但如果您想登录到一个文件,您会遇到可以解决的锁定问题(有性能损失)。

您应该看看请求AND或筛选器的人:


据我所知,目前还没有实现任何功能,但如果您真的需要,您可以自己将FilterSkeleton子类化来实现这一功能。

您应该看看请求AND和OR过滤器的人:

据我所知,目前还没有实现任何东西,但是如果您真的需要它,您可以自己通过子类化FilterSkeleton来实现