คำนำ: บทความนี้เป็นเอกสารอย่างเป็นทางการสำหรับการแปล!
Spring Boot ใช้การบันทึกคอมมอนส์เป็นระบบการบันทึกภายในและให้การกำหนดค่าเริ่มต้นสำหรับการบันทึก Java Util, log4j2 และ logback หากมีการใช้สปริงบูตสตาร์ทเตอร์จะใช้การกลับเข้าสู่ระบบโดยค่าเริ่มต้นสำหรับการเข้าสู่ระบบ
1. รูปแบบบันทึก
รูปแบบเอาต์พุตบันทึกเริ่มต้นใน Spring Boot มีดังนี้:
2014-03-05 10: 57: 51.112 ข้อมูล 45469 --- [หลัก] org.apache.catalina.core.standardengine:
เริ่มต้นเครื่องยนต์ servlet: Apache Tomcat/7.0.52
2014-03-05 10: 57: 51.253 ข้อมูล 45469 --- [ost-startstop-1] OACCC [Tomcat]. [localhost]. [/]::
การเริ่มต้น Spring Embedded WebApplicationContext
2014-03-05 10: 57: 51.253 ข้อมูล 45469 --- [ost-startstop-1] osweb.context.contextloader:
รูท webapplicationContext: การเริ่มต้นเสร็จสมบูรณ์ใน 1358 ms
2014-03-05 10: 57: 51.698 ข้อมูล 45469 --- [ost-startstop-1] OsbceservletRegistrationBean:
การแม็พ servlet: 'dispatcherservlet' กับ [/]
2014-03-05 10: 57: 51.702 ข้อมูล 45469 --- [OST-StartStop-1] OSBCEMBEDDED.FilterRegistrationBean:
ตัวกรองการทำแผนที่: 'Hiddenhttpmethodfilter' ถึง: [/*]
รายการต่อไปนี้จะถูกส่งออก:
1. วันที่และเวลา-ถูกต้องถึงมิลลิวินาทีและการเรียงลำดับง่าย ๆ ตามเวลา
2. ระดับบันทึก-ข้อผิดพลาด, เตือน, ข้อมูล, การดีบัก, ติดตาม
3. หมายเลขรหัสกระบวนการ
4. เนื้อหาบันทึกจะคั่นด้วยตัวคั่น "---"
5. ชื่อเธรด-ล้อมรอบในวงเล็บเหลี่ยม
6. ชื่อของชื่อคลาสที่ใช้บันทึกมักจะสอดคล้องกับ
หมายเหตุ: Logback ไม่มีระดับที่ร้ายแรง (แผนที่เป็นข้อผิดพลาด)
2. เอาต์พุตคอนโซล
การกำหนดค่าบันทึกเริ่มต้นจะสะท้อนข้อความเมื่อเขียนลงในคอนโซลและจะสะท้อนข้อความที่ข้อผิดพลาดเตือนและระดับข้อมูลตามค่าเริ่มต้น คุณยังสามารถเปิดใช้งานโหมดการดีบักเมื่อเริ่มต้น คำสั่งเริ่มต้นมีดังนี้: java -jar yourapp.jar --debug
หมายเหตุ: คุณสามารถระบุ debug = true ในแอปพลิเคชันไฟล์การกำหนดค่า properties เพื่อเปิดใช้งาน debug เมื่อเปิดโหมดการดีบักคอนโซลจะเอาท์พุทข้อมูลคอนเทนเนอร์ข้อมูลไฮเบอร์เนตและข้อมูลการบูตสปริงในเวลาเดียวกัน
3. เอาต์พุตไฟล์
โดยค่าเริ่มต้นสปริงบูตจะบันทึกเอาต์พุตไปยังคอนโซลเท่านั้นไม่ใช่เพื่อบันทึกไฟล์ หากคุณต้องการเขียนบันทึกไปยังไฟล์บันทึกคุณต้องตั้งค่าการบันทึกไฟล์หรือ logging.path ในแอปพลิเคชันไฟล์การกำหนดค่า properties
หมายเหตุ: นี่คือความสัมพันธ์นั่นคือถ้าคุณกำหนดค่าการบันทึกไฟล์ไฟล์หรือ logging.path เอฟเฟกต์จะเหมือนกัน
ตารางต่อไปนี้จะแสดงวิธีดำเนินการส่งออกไฟล์การกำหนดค่า:
| Logging.File | logging.path | ตัวอย่าง | อธิบาย |
| ไม่มีการกำหนดค่าการกำหนดค่าและส่งออกไปยังคอนโซลเท่านั้น | |||
| ระบุไฟล์ | my.log | เขียนไปยังไฟล์บันทึกที่ระบุ ชื่อไฟล์อาจเป็นตำแหน่งที่แน่นอนหรือไดเรกทอรีสัมพัทธ์ | |
| ไดเรกทอรีที่ระบุ | /var/log | เขียนไฟล์บันทึกไปยังไดเรกทอรีที่ระบุซึ่งอาจเป็นตำแหน่งที่แน่นอนหรือไดเร็กทอรีสัมพัทธ์ |
โดยค่าเริ่มต้นหากขนาดของไฟล์บันทึกถึง 10MB มันจะถูกตัดทอนและส่งออกไปยังไฟล์บันทึกใหม่
หมายเหตุ: การกำหนดค่าบันทึกเป็นอิสระจากส่วนประกอบบันทึกจริงนั่นคือถ้าคุณสมบัติที่กำหนดค่าที่ระบุไว้สำหรับ logback คือ logback.ConfigurationFile ดังนั้น Spring Boot จะไม่จัดการส่วนประกอบบันทึก
4. ระดับบันทึก
ระบบการบันทึกที่รองรับทั้งหมดสามารถระบุระดับบันทึกผ่านสภาพแวดล้อมฤดูใบไม้ผลิเช่นแอปพลิเคชัน properties และใช้ "logging.level.*= ระดับ" เพื่อระบุระดับบันทึก มูลค่าของ "ระดับ" สามารถติดตาม, การดีบัก, ข้อมูล, เตือน, ข้อผิดพลาด, ถึงแก่ชีวิต, ปิด ตัวอย่างการกำหนดค่ามีดังนี้:
logging.level.level.root = เตือน #ROOT บันทึกการบันทึกที่ระดับเตือนการบันทึกการบันทึก.level.org.springframework.web = ดีบักบันทึกภายใต้ #org.springframework.web เอาต์พุตที่ดีบู atuging idpution
หากเราต้องการระบุระดับบันทึกแอปพลิเคชันของเราเรายังสามารถใช้วิธีเดียวกันได้ดังนี้:
logging.level.com.chhliu = ข้อมูล
"com.chhliu" ในการกำหนดค่าข้างต้นเป็นชื่อแพ็คเกจของแอปพลิเคชันของเรา
5. รูปแบบเอาต์พุตบันทึกที่กำหนดเอง
เราสามารถกำหนดค่ารูปแบบเอาต์พุตบันทึกที่เราต้องการผ่าน logging.pattern.file และ logging.pattern.level ตัวอย่างเช่น:
Logging.pattern.console = %d {yyyy/mm/dd-hh: mm: ss} [ %เธรด] %-5level %logger- %msg %n logging.pattern.file = %d {yyyyy/mm/dd-hh: mm} [ หมายเหตุ: การกำหนดค่าข้างต้นใช้งานได้เฉพาะบน logback
6. ใช้ log4j เพื่อบันทึก
ดังที่ได้กล่าวไว้ก่อนหน้านี้ค่าเริ่มต้นของเราคือการใช้ logback เป็นระบบบันทึก ดังนั้นหากเราต้องการใช้ log4j เพื่อเข้าสู่ระบบเราควรทำอย่างไร? เราจำเป็นต้องเพิ่ม log4j starter ลงในไฟล์ POM และไม่รวม logback ดังต่อไปนี้:
<การพึ่งพา> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter </artifactid> <exclusions> <exclusision> <การพึ่งพา> <roupID> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Log4j </artifactid>
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น