OpenJDK 11 JVM日誌相關參數解析與使用

OpenJDK 11是在OpenJDK 8之後的第一個長期支持版本,這一版本在JVM日誌配置有了很大改動,主要是規範化,統一化了。在OpenJDK 8中,日誌配置有很多狀態位,讓人摸不着頭腦,並且比較難以維護與進一步迭代。在OpenJDK 11終於將JVM日誌相關的配置規範起來,統一配置。這篇文章會對於這些配置做一個詳盡的說明和解析。

一、JVM日誌標籤

JVM日誌和我們java代碼中的日誌,其實是類似。在Java代碼中,我們一般使用slf4j記錄日誌,例如:

Logger logger = LogFactory.getLooger("core-logger");
logger.info("this is core logger log");

然後日誌中就會輸出類似於:

2020-02-05 10:50:52.670  INFO [core-logger] [22] [pool-13-thread-1]: this is core logger log

包括時間戳,日誌級別,日誌標籤(core-logger),日誌內容這些信息。JVM日誌也是包括這些元素。舉個例子:

[0.182s][debug][jit,compilation]    1       3       java.lang.StringLatin1::hashCode (42 bytes)
[0.183s][debug][jit,compilation]    2       3       java.lang.Object::<init> (1 bytes)
[0.183s][debug][jit,compilation]    3       3       java.lang.String::hashCode (49 bytes)

可以看出,默認的JVM日誌包括:

[啓動經過時間][日誌級別][日誌標籤,可能包含多個] 日誌內容

其中一行日誌,可能包含多個標籤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章