ฉันกำลังเขียนแอปพลิเคชัน Java แบบสแตนด์อโลนซึ่งใช้ Hibernate Maven นำห้องสมุด jboss-logging
มาให้ฉัน ฉันไม่ได้ใช้ JBoss คำถามคือ: ฉันสามารถเข้าสู่ระบบด้วยไลบรารีนี้เท่านั้น หรือฉันต้องดาวน์โหลดการใช้งานการบันทึกบางอย่างเช่น log4j
จะใช้การบันทึก JBoss ที่ Hibernate ได้อย่างไร
คำตอบ (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 ในโปรเจ็กต์ของคุณได้อย่างแน่นอน หากคุณต้องการกำหนดค่าตัวจัดการการบันทึก คุณจะต้องใช้เครื่องมือจัดการบันทึกด้วย
afaik, jboss-logging เป็นเลเยอร์พิเศษที่อยู่เหนือ API การบันทึกปกติ เพื่อให้มีคุณสมบัติที่ซับซ้อนมากขึ้น เช่น i18n เป็นต้น
การบันทึก JBoss สามารถใช้ไลบรารีการบันทึกอื่น (เช่น SLF4J) เป็นตัวจัดการพื้นฐานสำหรับบันทึก
ฉันเชื่อว่าหากคุณกำลังเขียนแอป Java แบบสแตนด์อโลนที่เรียบง่าย คุณไม่จำเป็นต้องใช้การบันทึก JBoss (เว้นแต่คุณจะรู้ว่าคุณต้องการและจำเป็นต้องทำเช่นนั้นจริงๆ)
การใช้ SLF4J (ที่มีการผูก LogBack หรือ Log4J) จะเป็นตัวเลือกที่ดี ไปที่ http://slf4j.org เพื่อดูข้อมูลเพิ่มเติม
ตรวจสอบให้แน่ใจว่าคุณมี jboss-logging
และการใช้งานตัวบันทึกของคุณใน classpath ของคุณและตั้งค่าคุณสมบัติระบบ org.jboss.logging.provider
เป็น log4j
, jdk
, slf4j
หรือ jboss
ขึ้นอยู่กับสิ่งที่คุณต้องการ ตามทฤษฎีแล้ว การตรวจจับอัตโนมัติอาจใช้ได้ผลเช่นกัน