Bagaimana untuk menggunakan log4j dalam java tanpa mengisytiharkannya setiap kali ia dipanggil?
为情所困
为情所困 2017-05-17 10:04:39
0
3
632

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?

为情所困
为情所困

membalas semua(3)
漂亮男人

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 mentakrifkan nama logger yang berbeza dan anda boleh menyesuaikan kaedah output anda sendiri melalui nama logger, seperti level code>, appender...dlllog是因为他可以定义不同的logger name可以通过logger name定制自己的输出方式, 比如level, appender...等

如果你的日志是以相同的方式处理那你完全可以声明公共的静态 log 对象, 需要的地方使用该log
Jika log anda diproses dengan cara yang sama, anda boleh mengisytiharkan objek log statik awam Gunakan log jika perlu dan tidak akan ada pengisytiharan pendua .

Untuk contoh:

import static xxx.GlobalLogs.log;

log.debug("...");
log.info("...");
//...
Sudah tentu anda juga boleh menggunakan lombok untuk memudahkan kod anda.🎜
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan