⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 levelrangefilter.java

📁 实现在电脑平台上控制短信modem或手机进行通讯的jar包和相关实例
💻 JAVA
字号:
/* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software * License version 1.1, a copy of which has been included with this * distribution in the LICENSE.txt file.  */package org.apache.log4j.varia;import org.apache.log4j.Level;import org.apache.log4j.spi.Filter;import org.apache.log4j.spi.LoggingEvent;import org.apache.log4j.helpers.LogLog;import org.apache.log4j.helpers.OptionConverter;/**   This is a very simple filter based on level matching, which can be   used to reject messages with priorities outside a certain range.      <p>The filter admits three options <b>LevelMin</b>, <b>LevelMax</b>   and <b>AcceptOnMatch</b>.   <p>If the level of the {@link LoggingEvent} is not between Min and Max   (inclusive), then {@link Filter#DENY} is returned.      <p> If the Logging event level is within the specified range, then if   <b>AcceptOnMatch</b> is true, {@link Filter#ACCEPT} is returned, and if   <b>AcceptOnMatch</b> is false, {@link Filter#NEUTRAL} is returned.      <p>If <code>LevelMin</code>w is not defined, then there is no   minimum acceptable level (ie a level is never rejected for   being too "low"/unimportant).  If <code>LevelMax</code> is not   defined, then there is no maximum acceptable level (ie a   level is never rejected for beeing too "high"/important).   <p>Refer to the {@link   org.apache.log4j.AppenderSkeleton#setThreshold setThreshold} method   available to <code>all</code> appenders extending {@link   org.apache.log4j.AppenderSkeleton} for a more convenient way to   filter out events by level.   @author Simon Kitching   @author based on code by Ceki G&uuml;lc&uuml; */public class LevelRangeFilter extends Filter {  /**     Do we return ACCEPT when a match occurs. Default is     <code>false</code>, so that later filters get run by default  */  boolean acceptOnMatch = false;  Level levelMin;  Level levelMax;   /**     Return the decision of this filter.   */  public  int decide(LoggingEvent event) {    if(this.levelMin != null) {      if (event.getLevel().isGreaterOrEqual(levelMin) == false) {        // level of event is less than minimum        return Filter.DENY;      }    }    if(this.levelMax != null) {      if (event.getLevel().toInt() > levelMax.toInt()) {        // level of event is greater than maximum        // Alas, there is no Level.isGreater method. and using        // a combo of isGreaterOrEqual && !Equal seems worse than        // checking the int values of the level objects..        return Filter.DENY;      }    }    if (acceptOnMatch) {      // this filter set up to bypass later filters and always return      // accept if level in range      return Filter.ACCEPT;    }    else {      // event is ok for this filter; allow later filters to have a look..      return Filter.NEUTRAL;    }  } /**     Get the value of the <code>LevelMax</code> option.  */  public  Level getLevelMax() {    return levelMax;  }  /**     Get the value of the <code>LevelMin</code> option.  */  public  Level getLevelMin() {    return levelMin;  }  /**     Get the value of the <code>AcceptOnMatch</code> option.   */  public  boolean getAcceptOnMatch() {    return acceptOnMatch;  }  /**     Set the <code>LevelMax</code> option.   */  public  void setLevelMax(Level levelMax) {    this.levelMax =  levelMax;  }  /**     Set the <code>LevelMin</code> option.   */  public  void setLevelMin(Level levelMin) {    this.levelMin =  levelMin;  }  /**     Set the <code>AcceptOnMatch</code> option.   */    public   void setAcceptOnMatch(boolean acceptOnMatch) {    this.acceptOnMatch = acceptOnMatch;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -