Rumah > Soal Jawab > teks badan
为什么Log记录日志要先做一个判断了?如下。
if (logger.isErrorEnabled()){
logger.error(msg,e);
}
还有就是logger.isDebugEnabled和logger.isInfoEnable 等等?
迷茫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 gc
Sebab penghakiman perlu ditambah. jcl
untuk menggunakan ruang letak untuk mengurangkan slf4j
pertimbangan ini. Seperti if
log.debug("log {} ...", param1)
slf4j