我已經按照以下方式在許多子類引用的根類中創建了一個通用記錄器。如何在使用常用記錄器時禁用某些類的日誌記錄?
public static final Logger LOGGER = Logger.getLogger(RootClass.class.getName());
然後我按照以下方式訪問該子類中的記錄器。
private static final Logger LOGGER = RootClass.LOGGER;
我有一個主要類從用戶接收輸入,它調用RootClass中的一個方法來配置記錄器。
logStatus = messageBus.configureLogPath(logPath,logLevel);
以下是上述方法的實現。
public Boolean configureLogPath(String logPath,String level) {
Boolean result=false;
switch(level) {
case "info" :
LOGGER.setLevel(Level.INFO);
break;
case "severe":
LOGGER.setLevel(Level.SEVERE);
break;
case "debug":
LOGGER.setLevel(Level.CONFIG);
break;
case "off" :
LOGGER.setLevel(Level.OFF);
break;
default :
LOGGER.setLevel(Level.SEVERE);
}
try {
simpleFormatter = new SimpleFormatter();
logFileHandler = new FileHandler(logPath);
logFileHandler.setFormatter(simpleFormatter);
LOGGER.addHandler(logFileHandler);
result =true;
} catch (SecurityException e1) {
result= false;
LOGGER.log(Level.SEVERE, "Security exception when reading log file" + e1);
} catch (IOException e1) {
result = false;
LOGGER.log(Level.SEVERE, "IO Exception when reading log file" + e1);
}
return result;
}
我可以禁用某些選定的子類的日誌記錄嗎?我有一個要求,用戶應該能夠設置日誌應該創建的某些子類。但是因爲我在所有的孩子班中都使用了一個通用記錄器,所以我不確定如何實現這一點。請指教。
我需要一種方法來關閉某些類的日誌,因爲這是確切的要求:( – mayooran