簡體   English   中英

動態設置記錄器級別

[英]set logger level dynamically

我需要動態設置Pentaho水壺作業的日志記錄級別。 就像將級別設置為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

如何動態獲取此級別?

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

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);

對於不同的日志庫,實現可能有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM