ฉันกำลังสร้างแอป Java ขนาดเล็กและหวังว่าจะใช้ Logback สำหรับการบันทึก
แอพของฉันมีการพึ่งพาโปรเจ็กต์เก่ากว่าที่ทำการบันทึกผ่านไฟล์
org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1
... ดังนั้นแผนของฉันคือใช้
org.slf4j | jcl-over-slf4j | 1.5.6
... เพื่อเปลี่ยนเส้นทางการบันทึก JCL ไปที่
org.slf4j | slf4j-api | 1.6.0
... และท้ายที่สุดก็คือ
ch.qos.logback | logback-classic | 0.9.22
ch.qos.logback | logback-core | 0.9.22
ดังนั้นแอปของฉันจึงสามารถเข้าสู่ระบบผ่านการล็อกกลับผ่าน slf4j API ในขณะที่รหัสไลบรารีเก่าสามารถล็อกเข้าสู่ตำแหน่งเดียวกันผ่านการเปลี่ยนเส้นทาง
อนิจจาส่งผลให้
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:141)
ฉันได้ลองใช้ตัวเลขการตรวจสอบที่สูงขึ้นและต่ำลงในไหเหล่านี้และยังขุดผ่านเอกสาร API และอื่น ๆ อีกด้วย ... แต่ฉันไม่พบและแก้ปัญหาได้
ช่วยด้วย?
แม้ว่าการบันทึกย้อนกลับจะถือเป็นกรอบการบันทึก "เชิงกลยุทธ์" แต่ฉันก็มีกลไกการบันทึกที่ฉันใช้ในท้ายที่สุด ฉันหวังว่าจะใช้ logback หรือ log4j และฉันต้องการผสานการเข้าสู่ระบบของโปรเจ็กต์เก่าเข้ากับสิ่งที่กรอบการบันทึก "ใหม่" จะจบลงด้วยการกำหนดค่าทั่วไป