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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

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

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

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

日志用來(lái)記錄程序的運(yùn)行軌跡,方便查找關(guān)鍵信息,也方便快速定位解決問(wèn)題。下面介紹 Java 自帶的日志工具類 java.util.logging 的使用。

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

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

JDK Logging 把日志分為如下表 7 個(gè)級(jí)別,等級(jí)依次降低。

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

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

所以在默認(rèn)情況下,日志只顯示前三個(gè)級(jí)別,對(duì)于所有的級(jí)別有下面幾種記錄方法:

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

同時(shí),還可以使用 log 方法指定級(jí)別,例如:

logger.log(Level.FINE, message);

例 1

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

輸出結(jié)果為:

十一月 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 嚴(yán)重: server

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

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

修改日志管理器配置

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

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

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

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

.level=INFO

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

Test.Test.level=FINE

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

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

java.util.logging.ConsoleHandler.level=FINE

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

總結(jié)

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

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