log4j - Ikhtisar
log4j adalah kerangka kerja logging (API) yang andal, cepat, dan fleksibel yang ditulis di Java, yang didistribusikan di bawah Lisensi Perangkat Lunak Apache.
log4j telah diporting ke bahasa C, C ++, C #, Perl, Python, Ruby, dan Eiffel.
log4j sangat dapat dikonfigurasi melalui file konfigurasi eksternal saat runtime. Ia melihat proses pencatatan dalam hal tingkat prioritas dan menawarkan mekanisme untuk mengarahkan informasi pencatatan ke berbagai tujuan, seperti database, file, konsol, UNIX Syslog, dll.
log4j memiliki tiga komponen utama:
loggers: Bertanggung jawab untuk menangkap informasi logging.
appenders: Bertanggung jawab untuk menerbitkan informasi logging ke berbagai tujuan pilihan.
layouts: Bertanggung jawab untuk memformat informasi logging dalam gaya yang berbeda.
Sejarah log4j
Dimulai pada awal tahun 1996 sebagai Tracing API untuk proyek EU SEMPER (Secure Electronic Marketplace for Europe).
Setelah peningkatan yang tak terhitung jumlahnya dan beberapa inkarnasi, API awal telah berevolusi menjadi log4j, paket logging populer untuk Java.
Paket ini didistribusikan di bawah Lisensi Perangkat Lunak Apache, lisensi sumber terbuka lengkap yang disertifikasi oleh inisiatif sumber terbuka.
Versi log4j terbaru, termasuk kode sumber lengkapnya, file kelas, dan dokumentasinya dapat ditemukan di http://logging.apache.org/log4j/.
Fitur log4j
Ini aman untuk benang.
Ini dioptimalkan untuk kecepatan.
Ini didasarkan pada hierarki logger bernama.
Ini mendukung beberapa penambah keluaran per logger.
Ini mendukung internasionalisasi.
Ini tidak terbatas pada satu set fasilitas yang telah ditentukan sebelumnya.
Perilaku logging dapat disetel saat runtime menggunakan file konfigurasi.
Ini dirancang untuk menangani Pengecualian Java sejak awal.
Ini menggunakan beberapa level, yaitu ALL, TRACE, DEBUG, INFO, WARN, ERROR dan FATAL.
Format keluaran log dapat dengan mudah diubah dengan memperluas kelas Tata Letak .
Target keluaran log serta strategi penulisan dapat diubah dengan implementasi antarmuka Appender.
Ini gagal-berhenti. Namun, meskipun pasti berusaha untuk memastikan pengiriman, log4j tidak menjamin bahwa setiap pernyataan log akan dikirimkan ke tujuannya.
Pro dan Kontra Logging
Logging merupakan komponen penting dari pengembangan perangkat lunak. Kode logging yang ditulis dengan baik menawarkan proses debug yang cepat, perawatan yang mudah, dan penyimpanan terstruktur dari informasi runtime aplikasi.
Logging juga memiliki kekurangan. Itu bisa memperlambat aplikasi. Jika terlalu bertele-tele, dapat menyebabkan kebutaan scrolling. Untuk mengatasi masalah ini, log4j dirancang agar dapat diandalkan, cepat, dan dapat diperluas.
Karena logging jarang menjadi fokus utama aplikasi, API log4j berusaha agar mudah dipahami dan digunakan.