จะใช้การบันทึก JBoss ที่ Hibernate ได้อย่างไร

ฉันกำลังเขียนแอปพลิเคชัน Java แบบสแตนด์อโลนซึ่งใช้ Hibernate Maven นำห้องสมุด jboss-logging มาให้ฉัน ฉันไม่ได้ใช้ JBoss คำถามคือ: ฉันสามารถเข้าสู่ระบบด้วยไลบรารีนี้เท่านั้น หรือฉันต้องดาวน์โหลดการใช้งานการบันทึกบางอย่างเช่น log4j


person Suzan Cioc    schedule 17.09.2012    source แหล่งที่มา


คำตอบ (3)


JBoss Logging เป็นเพียงส่วนหน้าของการบันทึก เพื่อกำหนดค่าเครื่องบันทึกของคุณ เช่น ใช้/เพิ่มตัวจัดการ คุณต้องมีตัวจัดการบันทึก เช่น JBoss Log Manager, J.U.L. ตัวจัดการบันทึก, logback หรือ log4j

JBoss Logging จะพยายามค้นหาว่ามีการใช้ตัวจัดการบันทึกใด คุณสามารถระบุตัวจัดการบันทึกที่คุณต้องการใช้กับคุณสมบัติระบบ org.jboss.logging.provider ค่าที่อนุญาตสำหรับ `org.jboss.logging.provider' คือ:

  • jboss - สำหรับ JBoss Log Manager
  • jdk - สำหรับ J.U.L. ผู้จัดการบันทึก
  • log4j - สำหรับตัวจัดการบันทึก log4j
  • slf4j - สำหรับการล็อกแบ็คด้วย slf4j

Hibernate ใช้ JBoss Logging สำหรับความสามารถของ i18n มันเป็นวิธีการบันทึก vararg และความสามารถที่จะไม่เชื่อมโยงกับตัวจัดการบันทึก

แน่นอนคุณสามารถใช้ JBoss Logging ในโปรเจ็กต์ของคุณได้อย่างแน่นอน หากคุณต้องการกำหนดค่าตัวจัดการการบันทึก คุณจะต้องใช้เครื่องมือจัดการบันทึกด้วย

person James R. Perkins    schedule 17.09.2012

afaik, jboss-logging เป็นเลเยอร์พิเศษที่อยู่เหนือ API การบันทึกปกติ เพื่อให้มีคุณสมบัติที่ซับซ้อนมากขึ้น เช่น i18n เป็นต้น

การบันทึก JBoss สามารถใช้ไลบรารีการบันทึกอื่น (เช่น SLF4J) เป็นตัวจัดการพื้นฐานสำหรับบันทึก

ฉันเชื่อว่าหากคุณกำลังเขียนแอป Java แบบสแตนด์อโลนที่เรียบง่าย คุณไม่จำเป็นต้องใช้การบันทึก JBoss (เว้นแต่คุณจะรู้ว่าคุณต้องการและจำเป็นต้องทำเช่นนั้นจริงๆ)

การใช้ SLF4J (ที่มีการผูก LogBack หรือ Log4J) จะเป็นตัวเลือกที่ดี ไปที่ http://slf4j.org เพื่อดูข้อมูลเพิ่มเติม

person Adrian Shum    schedule 17.09.2012

ตรวจสอบให้แน่ใจว่าคุณมี jboss-logging และการใช้งานตัวบันทึกของคุณใน classpath ของคุณและตั้งค่าคุณสมบัติระบบ org.jboss.logging.provider เป็น log4j, jdk, slf4j หรือ jboss ขึ้นอยู่กับสิ่งที่คุณต้องการ ตามทฤษฎีแล้ว การตรวจจับอัตโนมัติอาจใช้ได้ผลเช่นกัน

https://github.com/jboss-logging/jboss-logging/blob/master/src/main/java/org/jboss/logging/LoggerProviders.java#L29

person Philippe Marschall    schedule 17.09.2012