Rumah >Java >javaTutorial >Melihat lebih dekat pada konfigurasi log4j: menetapkan tahap logger dan sasaran output

Melihat lebih dekat pada konfigurasi log4j: menetapkan tahap logger dan sasaran output

WBOY
WBOYasal
2024-02-20 12:33:231080semak imbas

Melihat lebih dekat pada konfigurasi log4j: menetapkan tahap logger dan sasaran output

Penjelasan terperinci konfigurasi log4j: Tahap pembalak dan tetapan sasaran output memerlukan contoh kod khusus

Pengenalan:
Dalam proses pembangunan perisian, pengelogan adalah tugas yang sangat penting. Ia bukan sahaja membantu pembangun mencari masalah dengan cepat semasa fasa penyahpepijatan, tetapi juga membantu kakitangan operasi dan penyelenggaraan menjejak dan menganalisis status berjalan sistem dalam persekitaran pengeluaran. Sebagai komponen pembalakan Java yang berkuasa, log4j boleh memenuhi pelbagai keperluan kami untuk pembalakan.

Artikel ini akan menerangkan konfigurasi log4j secara terperinci, termasuk tahap logger dan tetapan sasaran output, dan melampirkan contoh kod tertentu.

1. Tetapan tahap Logger
log4j mentakrifkan 7 peringkat pembalak, yang mengikut urutan dari rendah ke tinggi ialah: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF. Melalui konfigurasi, kami boleh menetapkan tahap minimum untuk dilog, dan log yang lebih tinggi daripada tahap ini tidak akan direkodkan.

Dalam fail konfigurasi log4j (biasanya log4j.properties atau log4j.xml), anda boleh mengkonfigurasi tahap logger dengan menetapkan parameter berikut:

log4j.rootLogger=级别, 输出目标

Antaranya, tahap boleh menjadi salah satu daripada 7 tahap di atas, atau a Tahap tersuai. Sasaran output boleh menjadi output konsol (ConsoleAppender), output fail (FileAppender), output pangkalan data (JDBCAppender), dll.

Sebagai contoh, kami menetapkan tahap logger kepada DEBUG, iaitu, hanya log tahap DEBUG dan ke atas direkodkan:

log4j.rootLogger=DEBUG, ConsoleAppender

2 Tetapan sasaran keluaran
Selain menetapkan tahap logger, log4j juga membolehkan kami mengeluarkannya log ke sasaran yang berbeza, supaya kita boleh memilih untuk mengeluarkan log ke konsol, fail, pangkalan data, dll. mengikut keperluan.

  1. Output ke konsol
    Mengoutputkan log ke konsol adalah sangat mudah, kita hanya perlu mengkonfigurasi ConsoleAppender dan kemudian menambahkannya pada rootLogger. Berikut ialah contoh kod yang berkaitan:
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%t] %p %c - %m%n

log4j.rootLogger=DEBUG, console
  1. Output ke fail
    Mengoutput log ke fail juga mudah, kita hanya perlu mengkonfigurasi FileAppender dan kemudian menambahkannya pada rootLogger. Berikut ialah contoh kod yang berkaitan:
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=/path/to/log/file.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%t] %p %c - %m%n

log4j.rootLogger=DEBUG, file

Perlu diambil perhatian bahawa "/path/to/log/file.log" dalam kod di atas perlu digantikan dengan laluan fail sebenar.

  1. Output ke pangkalan data
    Untuk mengeluarkan log ke pangkalan data, anda perlu menggunakan JDBCAppender Kami perlu menyediakan maklumat sambungan pangkalan data dan struktur jadual log. Berikut ialah contoh kod yang berkaitan:
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.db.URL=jdbc:mysql://localhost:3306/log_db
log4j.appender.db.driver=com.mysql.jdbc.Driver
log4j.appender.db.user=root
log4j.appender.db.password=password

log4j.appender.db.sql=INSERT INTO logs(datetime, thread, level, logger, message) VALUES('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%c', '%m')

log4j.rootLogger=DEBUG, db

Perlu diambil perhatian bahawa "log_db" dalam kod di atas perlu diganti dengan nama pangkalan data sebenar.

Kesimpulan:
log4j ialah komponen pengelogan Java yang berkuasa dan mudah digunakan Ia menyediakan pelbagai pilihan konfigurasi untuk memenuhi pelbagai keperluan pembalakan kami. Melalui pengenalan dan contoh kod artikel ini, saya percaya pembaca boleh memahami dan menggunakan fungsi konfigurasi log4j dengan lebih baik, dan boleh menggunakannya secara fleksibel dalam pembangunan sebenar. Semoga artikel ini bermanfaat kepada semua orang!

Atas ialah kandungan terperinci Melihat lebih dekat pada konfigurasi log4j: menetapkan tahap logger dan sasaran output. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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