国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java - 日志收集與處理

2019-11-06 06:18:34
字體:
來源:轉載
供稿:網友

日志的出現是為了彌補使用System.out.PRintln()進行調試的不足. 因為打印語句需要我們一條一條手動控制.

日志的管理分為兩大部分:

日志記錄器日志處理器

日志記錄器負責按設定級別對日志進行記錄和向上傳遞, 日志處理器負責按設定級別對日志進行打印.

日志記錄器

使用全局日志記錄器

最簡單的使用情況是通過調用Logger.getGlobal()獲得全局日志記錄器. 然后通過info()這樣的方法來按級別輸出日志.

可以通過Logger.global.setLevel(Level.OFF)設置日志級別. 現在設置的是OFF, 則所有的日志信息都不會輸出.

注意 日志輸出語句只要存在, 無論是否最終進行了輸出, 其消息體就會創建, 如果擔心消息創建的代價, 可以使用lambda表達式代替. 詳見 Jav8 - 通過lambd表達式進行計算 一文.

按名創建日志記錄器

如果你想對每個類創建分離的日志記錄器, 可以使用以下語句:

Logger logger = Logger.getLogger(LoggerExample.class.getName());

注意 日志記錄器是有層級的, 也就是說如果你有一個日志記錄器名為com.congyh, 如果你關閉了com日志記錄器的日志輸出, 那么com.congyh也不會進行日志輸出.

日志級別

日志共有七種級別: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST.

默認情況下, 會輸出INFO及以上級別的日志, 可以通過使用Level.ALL來開啟所有級別的日志, 也可以按日志級別進行控制.

你應該使用CONFIG及以下級別的日志來輸出debug信息.

日志處理器

日志處理器按照輸出的形式分為三種: ConsoleHandler, FileHandler, SocketHandler.

默認的日志處理器工作在INFO級別, 如果不對其進行修改, 即使日志記錄器設置在例如CONFIG級別, 那么日志實際上是只記錄不輸出. 假設我們現在有一個類叫做LoggerExample, 正確的使用案例如下:

// 按名創建日志記錄器Logger logger = Logger.getLogger(LoggerExample.class.getName());logger.setLevel(Level.CONFIG);ConsoleHandler consoleHandler = new ConsoleHandler();consoleHandler.setLevel(Level.CONFIG);logger.addHandler(consoleHandler);logger.config("使用按名創建的logger輸出CONFIG級別的信息");

程序輸出如下:

三月 05, 2017 10:24:49 上午 com.github.congyh.log.LoggerExample main配置: 使用按名創建的logger輸出CONFIG級別的信息
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙海市| 贺州市| 忻州市| 会东县| 宁晋县| 阿巴嘎旗| 毕节市| 乌兰县| 峡江县| 神木县| 嘉义市| 景东| 闽侯县| 清新县| 兰州市| 攀枝花市| 南汇区| 长汀县| 香河县| 曲水县| 偃师市| 苏州市| 株洲县| 神池县| 蛟河市| 连平县| 金川县| 武义县| 岱山县| 嘉善县| 西畴县| 沧源| 灵台县| 乐东| 高雄市| 云龙县| 东乡族自治县| 沾益县| 桐乡市| 巩义市| 陇西县|