cari

Rumah  >  Soal Jawab  >  teks badan

java - 为什么Log记录日志要先做一个判断

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

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

membalas semua(1)saya akan balas

  • 迷茫

    迷茫2017-04-18 10:57:29

    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

    balas
    0
  • Batalbalas