当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Logger setFilter()用法及代码示例


Logger类的setFilter()方法用于设置过滤器以控制此Logger上的输出。过滤器作为参数传递。筛选器可用于筛选出日志消息。可以说过滤器决定消息是否被记录。过滤器由Java接口java.util.logging.Filter表示。通过初始“level”检查后,记录器将调用此过滤器以检查是否应真正发布日志记录。

用法:

public void setFilter(Filter newFilter)
               throws SecurityException

参数:此方法接受一个表示过滤对象的参数newFilter。


返回值:此方法不返回任何内容。

异常:如果存在安全管理器,此记录器不是匿名的并且调用方没有LoggingPermission(“control”),则此方法将引发SecurityException。

以下示例程序旨在说明setFilter()方法:
示例1:

// Java program to demonstrate 
// Logger.setFilter() method 
  
import java.util.logging.*; 
import java.io.IOException; 
  
public class GFG { 
  
    public static void main(String[] args) 
        throws SecurityException, IOException 
    { 
  
        // Create a logger 
        Logger logger 
            = Logger.getLogger(GFG.class.getName()); 
  
        // set a new filter 
        logger.setFilter(new MyFilter()); 
  
        // check filter is null or not by printing 
        System.out.println("Filter = "
                           + logger.getFilter()); 
    } 
} 
class MyFilter implements Filter { 
    public boolean isLoggable(LogRecord record) 
    { 
        return false; 
    } 
}

输出:
在Eclipse的控制台上打印的输出如下所示-

示例2:

// Java program to demonstrate 
// Logger.setFilter() method 
  
import java.util.logging.*; 
import java.io.IOException; 
  
public class GFG { 
  
    public static void main(String[] args) 
        throws SecurityException, IOException 
    { 
  
        // Create a logger 
        Logger logger 
            = Logger.getLogger( 
                GFG.class.getName()); 
  
        // Set a new filter 
        logger.setFilter(new Filter() { 
            @Override
            public boolean isLoggable(LogRecord record) 
            { 
                return true; 
            } 
        }); 
  
        // Check filter is null 
        // or not by printing 
        System.out.println("Filter = "
                           + logger.getFilter()); 
    } 
}

输出:
打印在控制台输出上的输出如下所示-

参考文献: https://docs.oracle.com/javase/10/docs/api/java/util/logging/Logger.html#setFilter(java.util.logging.Filter)



相关用法


注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Logger setFilter() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。