當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。