เมื่อใช้ Framework Spring เราสามารถกำหนดค่า log4j สำหรับการจัดการบันทึกได้อย่างง่ายดาย
Spring 5.0 ได้รับการปล่อยตัวมาระยะหนึ่งแล้วและเพิ่งอัพเกรดโครงการจาก Spring 4.3 เป็น Spring 5.0 คลาส org.springframework.web.util.log4jconfiglistener ที่ใช้โดย Spring 4.3 Integrates Integrates ถูกลบในเวอร์ชัน Spring 5.0 และ Log4J เวอร์ชัน 1.x ไม่ได้รับการอัปเดตอีกต่อไป เราอัพเกรด log4j-1.x เป็น log4j-2.x
แรกแนะนำแพ็คเกจสามขวดของ log4j 2
เพิ่มไฟล์ web.xml ภายใต้โครงการ การตั้งค่านี้อนุญาตให้ไฟล์บันทึกเป็นเอาต์พุตไปยังเว็บไดเรกทอรีโดยใช้ $ {web: rootdir}
<context-param> <param-name> log4jcontextname </param-name> <param-value> myApplication </param-value> </context-param>
log4j 2 รองรับสี่วิธีการกำหนดค่า: JSON, YAML, คุณสมบัติและ XML เราใช้คุณสมบัติเพื่อกำหนดค่า log4j2 ตามกฎเก่า
เพิ่มไฟล์ log4j2.properties ในไดเรกทอรี SRC ของโครงการ Spring 5.0 จะโหลดไฟล์ตามค่าเริ่มต้นโดยอัตโนมัติ
# ตั้งค่าระดับบันทึกภายใน log4j2, ค่าที่ถูกต้อง: การติดตาม, การดีบัก, ข้อมูล, คำเตือน, ข้อผิดพลาด, ร้ายแรง ใช้ได้เฉพาะเหตุการณ์ใน log4j เองเท่านั้นมันไม่สามารถตั้งค่าได้ เมื่อ Set to Trace คุณจะเห็นสถานะเอาต์พุตรายละเอียดต่าง ๆ ภายในสถานะ log4j2 = fatal# ชื่อการกำหนดค่า = propertiesConfigappenders = คอนโซลฉัน# คอนโซลประเภทบันทึกเอาท์พุทแหล่งที่มา appender.console.layout.pattern = %m %nappender.console.target = system_out# ซอร์สซอร์สออฟพุทแหล่งข้อมูล acctend.i.type = rollingfile# ชื่อของแหล่งเอาต์พุตการเลื่อนปัจจุบันสามารถเรียกได้ $ {Web: Rootdir} /web-inf/log/info.log# รูปแบบชื่อไฟล์ของไฟล์บันทึกที่เก็บถาวรโดยที่ `%d {yyyy-mm-dd-hh}` ใช้เพื่อเติมวันที่ appender.i.filepattern = $ {web: rootdir} เอาท์พุทแหล่งเค้าโครงประเภท Appender.i.layout.type = PatternLayout# Scroll บันทึกเทมเพลตเอาต์พุตเอาท์พุท Appender.i.layout.pattern = %-d {yyyy-mm-dd hh: mm: ss} [ %p] [ %c] %m %n# ระบุนโยบายที่เก็บสำหรับการบันทึกไฟล์ กลยุทธ์นี้ส่วนใหญ่เสร็จสิ้นการจัดเก็บไฟล์บันทึกเป็นระยะ ๆ appender.i.policies.type = นโยบาย# ตัดบันทึกตามเวลา Appender.i.policies.time.type = TimebasedTriggeringPolicy# ช่วงเวลาการตัดคือ 1 เดือนนั่นคือคลังเก็บบันทึกวันละครั้ง หากกฎการเปลี่ยนชื่อไฟล์ที่กำหนดค่าใน filePattern คือ $ {web: rootdir}/web-inf/log/info_%d {yyyy-mm-dd hh-mm}-%i เวลาขั้นต่ำคือ mm นั่นคือนาทีที่กำหนด หากเปลี่ยนเป็น %d {yyyy-mm-dd hh} ความละเอียดขั้นต่ำคือชั่วโมงไฟล์จะถูกสร้างขึ้นทุก 2 ชั่วโมง appender.i.policies.time.interval = 1# แก้ไขช่วงเวลาการนับเริ่มต้นที่ 0. ถ้า modulate = true เวลาปิดผนึกจะถูกชดเชยการคำนวณด้วย 0 คะแนนเป็นขอบเขต ตัวอย่างเช่น modulate = true, interval = 4hours จากนั้นสมมติว่าครั้งสุดท้ายที่บันทึกถูกบล็อกคือ 03:00 ในครั้งต่อไปที่บันทึกถูกบล็อกคือ 04:00 และเวลาที่ตามมา appender.i.policies.time.modulate = triggering นโยบายการเรียกใช้ มากกว่าค่าที่ระบุตามขนาด Trigger RollingAppender.i.policies.size.size = 50m# นโยบายการเขียนทับสำหรับการจัดเก็บไฟล์ (rolloversgygy) appender.i.strategy.type = defaultrolloversgy# จำนวนของ logive -logs <debug <info <warn <error <fatal <Offrootlogger.level = debuGrootlogger.appenderref.i.ref = inforollingFilerootlogger.appenderref.i.level = info# เชื่อมโยงแหล่งข้อมูล คอนโซลเอาท์พุท rootlogger.appenderref.consolelog.level = debugหลังจากการกำหนดค่าเสร็จสิ้นให้เขียนการทดสอบคลาส
นำเข้า org.apache.logging.log4j.logManager; นำเข้า org.apache.logging.log4j.logger; การทดสอบระดับสาธารณะคลาส Public {public Static สุดท้าย logger logger = logManager.getLogger (testClass.Class); การทดสอบโมฆะสาธารณะ () {logger.info ("ข้อมูล ... "); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น