Rumah > Soal Jawab > teks badan
Setiap kali anda menulis kelas baharu, anda mesti mengisytiharkannya seperti berikut:
private static Logger logger = Logger.getLogger(Test.class);
Bukankah ini sangat menyusahkan? Adakah terdapat apa-apa cara untuk menetapkan Logger kepada kelas yang boleh dipanggil secara statik, terus memanggil maklumat, ralat dan kaedah lain, dan pada masa yang sama mencetak kelas semasa, nombor benang dan maklumat lain?
漂亮男人2017-05-17 10:06:39
Anda hanya boleh merangkumnya untuk mencapai apa yang anda inginkan, seperti membina kelas untuk merangkum Logger dan mendedahkan beberapa antara muka statik. Mengenai mengapa banyak kod ditulis sebagai private static Logger logger = Logger.getLogger(Test.class);
, ia sebenarnya bertujuan untuk meningkatkan fleksibiliti dan ketepatan log.
漂亮男人2017-05-17 10:06:39
Isytihar log
kerana ia boleh mentakrifkan nama logger
yang berbeza dan anda boleh menyesuaikan kaedah output anda sendiri melalui nama logger
, seperti level< /code> code>,
appender
...dlllog
是因为他可以定义不同的logger name
可以通过logger name
定制自己的输出方式, 比如level
, appender
...等
如果你的日志是以相同的方式处理那你完全可以声明公共的静态 log 对象
, 需要的地方使用该log
Jika log anda diproses dengan cara yang sama, anda boleh mengisytiharkan
import static xxx.GlobalLogs.log;
log.debug("...");
log.info("...");
//...
Sudah tentu anda juga boleh menggunakan lombok untuk memudahkan kod anda.🎜