2014-04-18 70 views
0

我需要動態設置我的Pentaho Kettle Job的日誌記錄級別。 像級別設置爲信息,錯誤等。我需要從動態設置記錄器級別

Properties prop = new Properties(); 
InputStream input = null; 
input = new FileInputStream("D:\\config.properties"); 
prop.load(input); 
System.out.println(prop.getProperty("logLevel")); 
job.setLogLevel((LogLevel) prop.getProperty("logLevel")); 

我不能這樣設置,因爲prop.getProperty是字符串屬性文件中的水平。它不能被鑄造爲LogLevel

如何動態獲取此級別?

回答

0

我不知道你正在使用的庫,但通常可以工作:

LogLevel ll = null; 
switch (prop.getProperty("logLevel")) { 
    case "info" : ll = LogLevel.INFO; break; 
    case "debug" : ll = LogLevel.DEBUG; break; 
    case "warn" : ll = LogLevel.WARN; break; 
    default : ll = LogLevel.ERROR; break; 
} 
job.setLogLevel(ll); 

的實施可以因不同日誌庫。

相關問題