log4j - การจัดรูปแบบบันทึก
Apache log4j มีไฟล์ Layoutวัตถุแต่ละชิ้นสามารถจัดรูปแบบข้อมูลการบันทึกตามรูปแบบต่างๆ นอกจากนี้ยังสามารถสร้างออบเจ็กต์ Layout ที่จัดรูปแบบข้อมูลการบันทึกด้วยวิธีเฉพาะแอปพลิเคชัน
วัตถุเค้าโครงทั้งหมดได้รับไฟล์ LoggingEvent วัตถุจากไฟล์ Appenderวัตถุ จากนั้นวัตถุ Layout จะดึงอาร์กิวเมนต์ข้อความจาก LoggingEvent และใช้ ObjectRenderer ที่เหมาะสมเพื่อรับการแสดงสตริงของข้อความ
ประเภทเค้าโครง
คลาสระดับบนสุดในลำดับชั้นคือคลาสนามธรรม org.apache.log4j.Layout. นี่คือคลาสพื้นฐานสำหรับคลาส Layout อื่น ๆ ทั้งหมดใน log4j API
คลาส Layout ถูกกำหนดให้เป็นนามธรรมภายในแอปพลิเคชันเราไม่เคยใช้คลาสนี้โดยตรง เราทำงานกับคลาสย่อยของมันแทนซึ่งมีดังนี้:
DateLayout
HTMLLayout
PatternLayout.
SimpleLayout
XMLLayout
วิธีการจัดวาง
คลาสนี้จัดเตรียมการใช้โครงกระดูกของการดำเนินการทั่วไปในวัตถุโครงร่างอื่น ๆ ทั้งหมดและประกาศวิธีนามธรรมสองวิธี
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | public abstract boolean ignoresThrowable()
ระบุว่าข้อมูลการบันทึกจัดการกับอ็อบเจ็กต์ java.lang.Throwable ที่ส่งผ่านไปยังเป็นส่วนหนึ่งของเหตุการณ์การบันทึกหรือไม่ หากวัตถุ Layout จัดการกับวัตถุ Throwable วัตถุ Layout จะไม่เพิกเฉยและส่งกลับเท็จ |
2 |
public abstract String format(LoggingEvent event)
คลาสย่อยของโครงร่างส่วนบุคคลใช้วิธีนี้สำหรับการจัดรูปแบบเฉพาะโครงร่าง |
นอกเหนือจากวิธีนามธรรมเหล่านี้คลาส Layout ยังมีการนำไปใช้อย่างเป็นรูปธรรมสำหรับวิธีการที่ระบุไว้ด้านล่าง:
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 |
public String getContentType()
ส่งคืนชนิดเนื้อหาที่ใช้โดยวัตถุโครงร่าง คลาสฐานส่งคืนข้อความ / ธรรมดาเป็นชนิดเนื้อหาเริ่มต้น |
2 |
public String getFooter()
ระบุข้อมูลส่วนท้ายของข้อความบันทึก |
3 |
public String getHeader()
ระบุข้อมูลส่วนหัวของข้อความบันทึก |
แต่ละคลาสย่อยสามารถส่งคืนข้อมูลเฉพาะคลาสได้โดยการลบล้างการนำวิธีการเหล่านี้ไปใช้อย่างเป็นรูปธรรม