黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java日志記錄詳解

Java日志記錄詳解

更新時間:2022-06-02 09:58:39 來源:動力節點 瀏覽3660次

在本教程中,動力節點小編將借助示例了解 Java Logging 及其各種組件。

Java 允許我們通過日志記錄過程創建和捕獲日志消息和文件。

在 Java 中,日志記錄需要框架和 API。Java 在包中有一個內置的日志框架java.util.logging。

我們還可以使用 Log4j、Logback 等第三方框架進行日志記錄。

Java 日志組件

下圖展示了 Java Logging API ( java.util.logging) 的核心組件和控制流程。

1. 記錄器

該類Logger提供了日志記錄方法。我們可以從類中實例化對象Logger并調用它的方法來記錄日志。

讓我們舉個例子。

Logger logger = Logger.getLogger("newLoggerName");

類的getLogger()方法Logger用于查找或創建新的Logger. 字符串參數定義記錄器的名稱。

在這里,這將創建一個新對象或返回同名Logger的現有對象。LoggerLogger在當前類之后使用定義 a 是一種慣例class.getName()。

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

每個日志級別都有一個整數值來確定它們的嚴重性,除了兩個特殊日志級別OFF和ALL.

記錄消息

默認情況下,始終記錄前三個日志級別。要設置不同的級別,我們可以使用以下代碼:

logger.setLevel(Level.LogLevel);
// example
logger.setLevel(Level.FINE);

在此示例中,僅將級別FINE和高于它的級別設置為記錄。所有其他日志消息都將被刪除。

現在要記錄一條消息,我們使用該log()方法。

logger.log(Level.LogLevel, "log message");
// example
logger.log(Level.INFO, "This is INFO log level message");

有一些用于在所需級別進行日志記錄的速記方法。

logger.info( "This is INFO log level message");
logger.warning( "This is WARNING log level message");

所有通過設置日志級別的日志請求然后轉發到LogRecord。

2.過濾器

過濾器(如果存在)確定是否應轉發LogRecord 。顧名思義,它根據特定標準過濾日志消息。

如果LogRecord通過了指定的標準,它只會從記錄器傳遞到日志處理程序,并從日志處理程序傳遞到外部系統。

// set a filter
logger.setFilter(filter);
// get a filter
Filter filter = logger.getFilter();

3.處理程序(Appenders)

日志處理程序或附加程序接收LogRecord并將其導出到各種目標。

處理程序可以將LogRecord傳遞給過濾器,以再次確定它是否可以轉發到外部系統。

要添加新的處理程序,我們使用以下代碼:

logger.addHandler(handler);
// example
Handler handler = new ConsoleHandler();
logger.addHandler(handler);

要刪除處理程序,我們使用以下代碼:

logger.removeHandler(handler);
// example
Handler handler = new ConsoleHandler();
logger.addHandler(handler);
logger.removeHandler(handler);

一個記錄器可以有多個處理程序。要獲取所有處理程序,我們使用以下代碼:

Handler[] handlers = logger.getHandlers();

4.格式化程序

處理程序還可以使用Formatter將LogRecord對象格式化為字符串,然后再將其導出到外部系統。

我們可以使用以下代碼來格式化處理程序:

// formats to string form
handler.setFormatter(new SimpleFormatter());
// formats to XML form
handler.setFormatter(new XMLFormatter());

日志管理器

LogManager對象跟蹤全局日志記錄信息。它讀取并維護日志記錄配置和記錄器實例。

日志管理器是一個單例,這意味著它只有一個實例被實例化。

要獲取日志管理器實例,我們使用以下代碼:

LogManager manager = new LogManager();

日志記錄的優勢

以下是使用 Java 登錄的一些優點。

有助于監控程序的流程

有助于捕獲可能發生的任何錯誤

為問題診斷和調試提供支持

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩射 | 精品久久久久久亚洲 | 午夜影院免费观看 | 日韩亚洲欧美在线爱色 | 91在i线观| a中文字幕1区 | nu77亚洲综合日韩精品 | 国产乱人伦精品一区二区 | 中文国产成人精品久久无广告 | 黄色永久网站 | 天天综合天天看夜夜添狠狠玩 | 国产三级欧美 | 成人欧美视频在线观看播放 | 在线免费观看黄色小视频 | 99热在线免费播放 | 欧美日韩精品一区二区免费看 | 1024在线视频国产在线播放 | 久久精品成人免费网站 | 欧美日韩国 | 日韩毛片在线影视 | 视频国产在线 | 一本三道a无线码一区v小说 | 日韩一级片免费看 | 丁香六月欧美 | 黄色无毒网站 | jizzjizz丝袜老师 | 在线丝袜 | 亚洲高清视频在线观看 | 国产成人综合手机在线播放 | 国产精品videossex白浆 | 国产一级一片免费播放视频 | 国产精品天天影视久久综合网 | 九色综合久久综合欧美97 | 一级毛片特级毛片黄毛片 | 天天躁狠狠躁夜躁2021 | 国产精品1区2区 | 小明视频免费永久在线网 | 中文国产成人精品久久96 | 欧美在线播放成人a | 天天曰天天射 | 亚洲色图综合图片 |