java - 为什么Log记录日志要先做一个判断
巴扎黑
巴扎黑 2017-04-18 10:55:29
0
1
494

为什么Log记录日志要先做一个判断了?如下。

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

membalas semua(1)
迷茫

Anda akan faham dengan menukar kepada contoh berikut.

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

Dalam banyak kes, beberapa maklumat parameter akan direkodkan semasa merekodkan log Apabila menggunakan jcl sebagai antara muka log, rentetan tidak dapat dielakkan, tetapi log mempunyai tahap yang berbeza (level Ini adalah perkara biasa apabila berjalan dalam talian. Log di semua peringkat log tidak akan direkodkan.

Jika anda tidak meningkatkan pertimbangan peringkat log apabila menggunakan jcl. Menggunakan log.debug("log " + param1 + " ..."); secara langsung dengan cara ini akan menghasilkan banyak objek String yang tidak diperlukan ini sebenarnya tidak memberi kesan dan membuang masa pelaksanaan Pada masa yang sama, String juga perlu mengitar semula sejumlah besar sampah tersebut objek. Ini menggunakan gcSebab penghakiman perlu ditambah. jcl


Sudah tentu kita kini boleh terus menggunakan

untuk menggunakan ruang letak untuk mengurangkan slf4j pertimbangan ini. Seperti iflog.debug("log {} ...", param1)slf4j

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan