我需要动态设置Pentaho Kettle Job的日志记录级别。 就像设置为INFO,ERROR等的级别一样。我需要从属性文件中获取级别
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 :(得分: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);
对于不同的日志库,实现可能会有所不同。