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 จึงพยายามเข้าใจและใช้งานได้ง่าย