久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - 為什么Log記錄日志要先做一個(gè)判斷

瀏覽:76日期:2023-12-27 11:04:51

問(wèn)題描述

為什么Log記錄日志要先做一個(gè)判斷了?如下。

if (logger.isErrorEnabled()){logger.error(msg,e); } 還有就是logger.isDebugEnabled和logger.isInfoEnable 等等?

問(wèn)題解答

回答1:

換下面這個(gè)例子就明白了。

if (log.isDebugEnabled()) { log.debug('log ' + param1 + ' ...');}

在記錄日志時(shí)很多情況下都會(huì)記錄一些參數(shù)信息,在使用jcl做為日志接口時(shí)難免少不了要拼接字符串,但是日志有不同的級(jí)別(level)在線上運(yùn)行時(shí)正常情況是不會(huì)將所有日志級(jí)別的日志都記錄下來(lái)。

在使用jcl時(shí)如果不增加日志級(jí)別判斷。直接這樣使用log.debug('log ' + param1 + ' ...');會(huì)產(chǎn)生很多不需要的String對(duì)象,這些String實(shí)際沒(méi)有產(chǎn)生作用,浪費(fèi)了執(zhí)行時(shí)間,同時(shí)gc也需要大量回收這種垃圾對(duì)象,這也就是在使用jcl時(shí)需要增加判斷的原因。

當(dāng)然我們現(xiàn)在可以直接使用slf4j利用占位符來(lái)減少這種if判斷。如log.debug('log {} ...', param1)slf4j

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 雷州市| 卢湾区| 南充市| 泰和县| 大埔县| 宁陕县| 信宜市| 深水埗区| 仁布县| 开化县| 崇信县| 建阳市| 杂多县| 安吉县| 永胜县| 星子县| 灵宝市| 沙田区| 乌拉特前旗| 无锡市| 仪征市| 乐清市| 肥东县| 来安县| 景德镇市| 阳东县| 闵行区| 育儿| 化隆| 长宁县| 海口市| 余姚市| 文水县| 潞西市| 罗定市| 广灵县| 乳山市| 阿坝县| 宁城县| 益阳市| 轮台县|