การกำหนดค่าการบันทึกใน Spring Boot ด้วย SLF4J และ Logback
Spring Bootใช้เฟรมเวิร์ก Simple Logging Facade สำหรับ Java ( SLF4J ) เป็นอินเทอร์เฟซการบันทึก SLF4J จัดเตรียม API การบันทึกทั่วไปที่สามารถนำไปใช้โดยเฟรมเวิร์กการบันทึกต่างๆ เช่น Logback, Log4j2และ java.util.logging
มีระดับการบันทึก หลาย ระดับ รวมถึง TRACE, DEBUG, INFO, WARN และ ERROR ที่สามารถใช้เพื่อระบุระดับของรายละเอียดที่จะบันทึก

- TRACE: นี่คือระดับการบันทึกที่มีรายละเอียดมากที่สุด และบันทึกรายละเอียดแบบละเอียด เช่น การเรียกใช้เมธอด ค่าตัวแปร และโฟลว์การดำเนินการ ควรใช้การบันทึก TRACE เพื่อแก้ไขปัญหาที่ซับซ้อน
- ดีบัก: รวบรวมข้อมูลเกี่ยวกับพฤติกรรมของแอปพลิเคชันที่อาจเป็นประโยชน์สำหรับการดีบักปัญหา ระดับนี้เหมาะสำหรับสภาพแวดล้อมการพัฒนาและการทดสอบ ซึ่งจำเป็นต้องมีข้อมูลโดยละเอียดเกี่ยวกับลักษณะการทำงานของแอปพลิเคชัน
- ข้อมูล: ระดับนี้ใช้เพื่อบันทึกเหตุการณ์สำคัญของแอปพลิเคชัน เช่น ข้อความเริ่มต้นและปิดระบบ การเข้าสู่ระบบของผู้ใช้ที่สำเร็จ และการเปลี่ยนแปลงการกำหนดค่าที่สำคัญ ระดับนี้ควรใช้ในสภาพแวดล้อมการผลิตเพื่อรวบรวมข้อมูลที่สามารถช่วยระบุสาเหตุของปัญหา
- คำเตือน: ระดับนี้ใช้เพื่อตรวจจับเหตุการณ์ที่อาจเป็นอันตราย เช่น การพยายามเข้าสู่ระบบที่ล้มเหลวหรือการตั้งค่าที่ไม่ถูกต้อง ระดับนี้ควรใช้เพื่อบันทึกเหตุการณ์ที่ต้องให้ความสนใจ แต่ไม่จำเป็นต้องระบุถึงปัญหาร้ายแรง
- ข้อผิดพลาด: ระดับนี้ใช้เพื่อตรวจจับข้อผิดพลาดร้ายแรงที่ต้องดำเนินการทันที เช่น แอปพลิเคชันขัดข้องหรือข้อมูลเสียหาย
หากต้องการเปิดใช้งานการบันทึก ให้นำเข้า Logger และ LoggerFactory จาก org.slf4j

หากไม่มีการกำหนดค่าใน application.properties ระดับบันทึกจะมีค่าเริ่มต้นเป็น INFO
เอาท์พุต:

ข้อความ DEBUG และ TRACE ไม่แสดงขึ้นเนื่องจากระดับบันทึกของแอปพลิเคชันถูกตั้งค่าเป็น INFO ซึ่งมีระดับความสำคัญสูงกว่าทั้งสอง
หากตั้งค่าระดับการบันทึกเป็น ERROR ข้อความแสดงข้อผิดพลาดเท่านั้นที่จะแสดง เนื่องจากเป็นระดับบันทึกสูงสุดจาก 5 ระดับในตัว


เราสามารถปรับแต่งรูปแบบการบันทึกด้วยการกำหนดค่าด้านล่างในไฟล์ application.properties
เอาท์พุต:

การบันทึกแบบกำหนดเองด้วย Logback
การบันทึกเริ่มต้นนั้นดีเพียงพอสำหรับการเริ่มต้นใช้งานและจุดประสงค์ของ POC แต่ในแอปพลิเคชันระดับองค์กรในชีวิตจริง เราต้องการการควบคุมการบันทึกโดยละเอียดมากขึ้นด้วยข้อกำหนดที่ซับซ้อนอื่นๆ ในกรณีนั้น การกำหนดค่าการบันทึกเฉพาะจะเหมาะสม
โดยค่าเริ่มต้น Spring boot จะใช้ logback ดังนั้นในการปรับแต่งลักษณะการทำงาน เราจำเป็นต้องเพิ่ม logback.xml ในclasspathและกำหนดการปรับแต่งบนไฟล์
ไฟล์คอนฟิกูเรชันด้านล่างใช้ส่วนเสริมของคอนโซลและส่วนต่อท้ายของไฟล์กลิ้ง

ConsoleAppender บันทึกผลลัพธ์ตามรูปแบบที่กำหนดภายใน ConsoleAppender
ในRollingFileAppender
จะสร้างไฟล์ใหม่เพื่อจัดเก็บไฟล์บันทึกตามนโยบายการหมุนเวียน ภายในนโยบายการหมุนเวียน เราจะระบุรูปแบบชื่อไฟล์ ขนาดสูงสุดของไฟล์ ขนาดรวมของไฟล์เก็บถาวรทั้งหมด และวันที่จะเก็บไฟล์
หากคุณต้องการเรียนรู้ Spring Security Authentication & Authorization:
หลักสูตร 10 อันดับแรกสำหรับการเรียนรู้ Spring Security และ OAuth2 พร้อม Spring Boot สำหรับ Java Developers ในปี 2023อ้างอิงลิงก์เหล่านี้: การเข้าถึงตามบทบาทของ Spring Security ด้วย Spring Boot && Spring Security การรับรองความถูกต้องและการอนุญาตด้วย JWT