在Log4j中,LevelRangeFilter和Threshold之间有什么区别?

时间:2013-03-07 20:41:43

标签: java log4j

LevelRangeFilterThreshold之间有什么区别?我何时会使用其中一个?

<filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="DEBUG"/>
</filter>
<param name="Threshold" value="DEBUG"/>

1 个答案:

答案 0 :(得分:1)

两个选项都具有相同的行为。但阈值应该更快。

如果你想要很大的灵活性,你应该使用'过滤器'。除了能够定义LevelMin和LevelMax之外,过滤器还允许您实现自己的逻辑,如果需要,您还可以将它们链接在一起。

如果您只需要基本的“阈值”功能,我会选择第二种选择。

您可以从AppenderSkeleton API获取更多详细信息。请注意,简单的setThresholdaddFilterdecide相关,可确定是否将LoggingEvent传递给其他过滤器。