log4j - ภาพรวม
log4j เป็นเฟรมเวิร์กการบันทึก (API) ที่เชื่อถือได้รวดเร็วและยืดหยุ่นซึ่งเขียนด้วย Java ซึ่งเผยแพร่ภายใต้สัญญาอนุญาตซอฟต์แวร์ Apache
log4j ถูกย้ายไปยังภาษา C, C ++, C #, Perl, Python, Ruby และ Eiffel
log4j สามารถกำหนดค่าได้สูงผ่านไฟล์คอนฟิกูเรชันภายนอกที่รันไทม์ มันดูกระบวนการบันทึกในแง่ของระดับความสำคัญและเสนอกลไกในการนำข้อมูลการบันทึกไปยังปลายทางที่หลากหลายเช่นฐานข้อมูลไฟล์คอนโซล UNIX Syslog เป็นต้น
log4j มีองค์ประกอบหลักสามส่วน:
loggers: รับผิดชอบในการบันทึกข้อมูลการบันทึก
appenders: รับผิดชอบในการเผยแพร่ข้อมูลการบันทึกไปยังปลายทางต่างๆที่ต้องการ
layouts: รับผิดชอบในการจัดรูปแบบข้อมูลการบันทึกในรูปแบบต่างๆ
ประวัติ log4j
เริ่มต้นในต้นปี 2539 โดยใช้ API การติดตามสำหรับโครงการ EU SEMPER (Secure Electronic Marketplace for Europe)
หลังจากการปรับปรุงนับไม่ถ้วนและหลาย ๆ ชาติ API เริ่มต้นได้รับการพัฒนาจนกลายเป็น log4j ซึ่งเป็นแพ็คเกจการบันทึกยอดนิยมสำหรับ Java
แพคเกจนี้จัดจำหน่ายภายใต้ Apache Software License ซึ่งเป็นใบอนุญาตโอเพนซอร์สเต็มรูปแบบที่ได้รับการรับรองโดยโครงการริเริ่มโอเพ่นซอร์ส
log4j เวอร์ชันล่าสุดรวมถึงซอร์สโค้ดแบบเต็มไฟล์คลาสและเอกสารประกอบสามารถพบได้ที่ http://logging.apache.org/log4j/.
คุณสมบัติ log4j
ปลอดภัยต่อด้าย
เหมาะสำหรับความเร็ว
ขึ้นอยู่กับลำดับชั้นของคนตัดไม้ที่มีชื่อ
รองรับภาคผนวกเอาต์พุตหลายตัวต่อคนตัดไม้
รองรับความเป็นสากล
ไม่ จำกัด เฉพาะสิ่งอำนวยความสะดวกที่กำหนดไว้ล่วงหน้า
พฤติกรรมการบันทึกสามารถตั้งค่าได้ที่รันไทม์โดยใช้ไฟล์คอนฟิกูเรชัน
ได้รับการออกแบบมาเพื่อจัดการกับข้อยกเว้นของ Java ตั้งแต่เริ่มต้น
ใช้หลายระดับ ได้แก่ ALL, TRACE, DEBUG, INFO, WARN, ERROR และ FATAL
รูปแบบของเอาต์พุตบันทึกสามารถเปลี่ยนแปลงได้อย่างง่ายดายโดยการขยายคลาสLayout
เป้าหมายของเอาต์พุตบันทึกตลอดจนกลยุทธ์การเขียนสามารถเปลี่ยนแปลงได้โดยการใช้งานอินเทอร์เฟซ Appender
มันล้มเหลว - หยุด อย่างไรก็ตามแม้ว่าจะพยายามอย่างเต็มที่เพื่อให้แน่ใจว่ามีการจัดส่ง log4j ไม่รับประกันว่าคำสั่งบันทึกแต่ละรายการจะถูกส่งไปยังปลายทาง
ข้อดีข้อเสียของการบันทึก
การบันทึกเป็นองค์ประกอบสำคัญของการพัฒนาซอฟต์แวร์ รหัสบันทึกที่เขียนไว้อย่างดีช่วยให้สามารถแก้ไขจุดบกพร่องได้อย่างรวดเร็วดูแลรักษาง่ายและจัดเก็บข้อมูลรันไทม์ของแอปพลิเคชันอย่างมีโครงสร้าง
การบันทึกก็มีข้อเสียเช่นกัน อาจทำให้แอปพลิเคชันช้าลง หากละเอียดเกินไปอาจทำให้ตาบอดในการเลื่อนได้ เพื่อบรรเทาความกังวลเหล่านี้ log4j ได้รับการออกแบบให้เชื่อถือได้รวดเร็วและขยายได้
เนื่องจากการบันทึกไม่ค่อยเป็นจุดสนใจหลักของแอปพลิเคชัน log4j API จึงพยายามเข้าใจและใช้งานได้ง่าย