日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

1.17 Java.util.logging:JDK自带记录日志类

發(fā)布時間:2025/3/20 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.17 Java.util.logging:JDK自带记录日志类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

每個初學者都很熟悉在有問題的代碼中使用 System.out.println 方法在控制臺打印消息,來幫助觀察程序運行的操作過程。如果你使用 System.out.println 方法,一旦發(fā)現(xiàn)問題的根源,就要將這些語句從代碼中刪去。如果接下來又出現(xiàn)了問題,就需要再插入幾個調(diào)用 System.out.println 方法的語句,如此反復,增加了工作量。

日志用來記錄程序的運行軌跡,方便查找關鍵信息,也方便快速定位解決問題。下面介紹 Java 自帶的日志工具類 java.util.logging 的使用。

如果要生成簡單的日志記錄,可以使用全局日志記錄器并調(diào)用其 info 方法,代碼如下:

Logger.getGlobal().info("打印信息");

JDK Logging 把日志分為如下表 7 個級別,等級依次降低。

Logger 的默認級別是 INFO,比 INFO 級別低的日志將不顯示。Logger 的默認級別定義在 jre 安裝目錄的 lib 下面。

# Limit the message that are printed on the console to INFO and above. java.util.logging.ConsoleHandler.level = INFO

所以在默認情況下,日志只顯示前三個級別,對于所有的級別有下面幾種記錄方法:

logger.warning(message); logger.fine(message);

同時,還可以使用 log 方法指定級別,例如:

logger.log(Level.FINE, message);

例 1

public class Test {private static Logger log = Logger.getLogger(Test.class.toString());public static void main(String[] args) {// 級別依次升高,后面的日志級別會屏蔽之前的級別log.finest("finest");log.finer("finer");log.fine("fine");log.config("config");log.info("info");log.warning("warning");log.severe("server");} }

輸出結果為:

十一月 27, 2019 5:13:05 下午 Test.Test main 信息: info 十一月 27, 2019 5:13:05 下午 Test.Test main 警告: warning 十一月 27, 2019 5:13:05 下午 Test.Test main 嚴重: server

可以使用 setLevel 方法設置級別,例如logger.setLevel(Level.FINE);可以將 FINE 和更高級別的都記錄下來。另外,還可以使用 Level.ALL 開啟所有級別的記錄,或者使用 Level.OFF 關閉所有級別的記錄。

注意:如果將記錄級別設計為 INFO 或者更低,則需要修改日志處理器的配置。默認的日志處理器不會處理低于 INFO 級別的信息。

修改日志管理器配置

可以通過編輯配置文件來修改日志系統(tǒng)的各種屬性。在默認情況下,配置文件存在于 jre 安裝目錄下“jre/lib/logging.properties”。要想使用另一個配置文件,就要將 java.util.logging.config.file 特性設置為配置文件的存儲位置,并用下列命令啟動應用程序。

java -Djava.util.logging.config.file = configFile MainClass

日志管理器在 JVM 啟動過程中初始化,這在 main 執(zhí)行之前完成。如果在 main 中調(diào)用System.setProperty(“java.util.logging.config.file”,file),也會調(diào)用LogManager.readConfiguration()來重新初始化日志管理器。

要想修改默認的日志記錄級別,就需要編輯配置文件,并修改以下命令行。

.level=INFO

可以通過添加以下內(nèi)容來指定自己的日志記錄級別

Test.Test.level=FINE

也就是說,在日志記錄器名后面添加后綴 .level。

在稍后可以看到,日志記錄并不將消息發(fā)送到控制臺上,這是處理器的任務。另外,處理器也有級別。要想在控制臺上看到 FINE 級別的消息,就需要進行下列設置。

java.util.logging.ConsoleHandler.level=FINE

注意:在日志管理器配置的屬性設置不是系統(tǒng)屬性,因此,用 -Dcom.mycompany.myapp.level=FINE啟動應用程序不會對日志記錄器產(chǎn)生任何影響。

總結

以上是生活随笔為你收集整理的1.17 Java.util.logging:JDK自带记录日志类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。