国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

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

問題描述

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

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

問題解答

回答1:

換下面這個例子就明白了。

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

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

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

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

標簽: java
相關文章:
主站蜘蛛池模板: 铁岭市| 寻甸| 泗洪县| 中山市| 辰溪县| 五华县| 辰溪县| 银川市| 攀枝花市| 高台县| 耒阳市| 军事| 安阳县| 左云县| 黄浦区| 桐梓县| 武陟县| 齐齐哈尔市| 东乡县| 靖州| 德化县| 广昌县| 当涂县| 安义县| 镇赉县| 高淳县| 丰镇市| 蛟河市| 天水市| 连城县| 曲周县| 祥云县| 保靖县| 彰化县| 监利县| 专栏| 赣榆县| 武陟县| 赣州市| 利川市| 遵义市|