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?
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.Tengok ini /a/11...
Isytihar
log
kerana ia boleh mentakrifkannama logger
yang berbeza dan anda boleh menyesuaikan kaedah output anda sendiri melaluinama logger
, sepertilevel code>,
appender
...dlllog
是因为他可以定义不同的logger name
可以通过logger name
定制自己的输出方式, 比如level
,appender
...等如果你的日志是以相同的方式处理那你完全可以声明objek log statik awam Gunakan log jika perlu dan tidak akan ada pengisytiharan pendua .
Untuk contoh:公共的静态 log 对象
, 需要的地方使用该log
Jika log anda diproses dengan cara yang sama, anda boleh mengisytiharkan