Rumah > Java > javaTutorial > Bagaimanakah saya boleh mengkonfigurasi Log4j untuk menghantar tahap pengelogan yang berbeza untuk memisahkan pelengkap dan fail log?

Bagaimanakah saya boleh mengkonfigurasi Log4j untuk menghantar tahap pengelogan yang berbeza untuk memisahkan pelengkap dan fail log?

Mary-Kate Olsen
Lepaskan: 2024-10-29 17:29:02
asal
946 orang telah melayarinya

How can I configure Log4j to send different logging levels to separate appenders and log files?

Melog Tahap dan Kandungan Berbeza dengan Log4j

Soalan:

Bolehkah log4j dikonfigurasikan untuk arahkan tahap pembalakan yang berbeza untuk memisahkan penambah? Matlamatnya adalah untuk mencipta berbilang fail log dengan kandungan tertentu, seperti log utama yang menangkap semua INFO dan mesej di atas, manakala log lain menangkap mesej DEBUG hanya untuk kumpulan kelas yang dipilih.

Jawapan:

Mengkonfigurasi Log4j untuk Berbilang Fail Log

Log4j membenarkan penyesuaian pengelogan ke berbilang destinasi melalui pelengkap. Untuk mencapai konfigurasi yang diingini:

  1. Tentukan Berbilang Penambah: Mulakan dengan mencipta penambah berasingan untuk setiap jenis log. Berikan mereka atribut Fail yang sesuai untuk menentukan destinasi fail log mereka. Tetapkan Ambang untuk mengawal tahap pengelogan bagi setiap penambah (cth., INFO untuk log utama dan DEBUG untuk kelas tertentu).
  2. Konfigurasikan Root Logger: Pilihan rootLogger menentukan tempat semua pengelogan pada mulanya dihantar. Konfigurasikannya untuk menghantar log ke penambah yang anda buat sebelum ini.
  3. Tetapkan Tahap Logger: Gunakan sifat log4j.logger untuk menetapkan tahap pengelogan khusus untuk kelas atau pakej yang berbeza. Ini membolehkan anda mengawal selektif tahap butiran yang dilog untuk setiap kelas.

Contoh Konfigurasi:

log4j.rootLogger=QuietAppender, LoudAppender, TRACE
# setup main log
log4j.appender.QuietAppender=org.apache.log4j.RollingFileAppender
log4j.appender.QuietAppender.Threshold=INFO
log4j.appender.QuietAppender.File=quiet.log

# setup specific log
log4j.appender.LoudAppender=org.apache.log4j.RollingFileAppender
log4j.appender.LoudAppender.Threshold=DEBUG
log4j.appender.LoudAppender.File=loud.log

# set logging level for specific classes
log4j.logger.com.yourpackage.yourclazz=TRACE
Salin selepas log masuk

Dengan konfigurasi ini, 'tenang. log' akan mengandungi semua INFO dan mesej di atas untuk semua kelas, manakala 'loud.log' hanya akan mengandungi mesej DEBUG untuk kelas 'yourclazz' yang ditentukan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengkonfigurasi Log4j untuk menghantar tahap pengelogan yang berbeza untuk memisahkan pelengkap dan fail log?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan