亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Java 記錄器中,如何添加檢查以查看它們是否輸出某個日志級別的代碼

在 Java 記錄器中,如何添加檢查以查看它們是否輸出某個日志級別的代碼

慕斯709654 2021-08-25 10:05:18
我正在制作一個使用我構建的自定義庫的程序。他們都在使用 Java util 日志記錄類并制作日志文件。如果使用警告級別制作日志,我想要代碼將布爾值設置為 true。除了掃描日志文件尋找警告評論,我還能做些什么來實現這一目標?
查看完整描述

2 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

我不會嘗試分析日志文件,而是將庫實現更改為執行以下操作:


class Parser {

    private List<String> warnings = new ArrayList<>();


    public Boolean hasWarnings() {

        return warnings.size() > 0

    }


    public List<String> getWarnings() {

        return warnings;

    }


    public Object parse(String xml) {

        // parse the xml


        if (needToIssueWarning) {

            String msg = "warning!";

            warnings.add(msg);

            logger.warn(msg);

        }


        return parsedData;

    }

}

并在呼叫站點:


private void run() {

    Parser parser = new Parser();

    parsedData = parse(xmlString);

    if (parser.hasWarnings()) {

        warnings = parser.getWarnings();

        //do something with the warnings

    }

}

如果您要尋找解析日志的解決方案,則無法保證日志級別包含警告,它可能會設置為錯誤,然后您會錯過消息


查看完整回答
反對 回復 2021-08-25
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

創建查找WARNING級別消息的java.util.logging.Filter。在根記錄器的處理程序上安裝該過濾器。


public class WarningFilter implements Filter {


    @Override

    public boolean isLoggable(LogRecord record) {

        if (Level.WARNING.equals(record.getLevel())) {

           //Set your boolean.

        }

        return true; //Allow all records to pass.

    }

}


查看完整回答
反對 回復 2021-08-25
  • 2 回答
  • 0 關注
  • 219 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號