เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ
บันทึก (Logs) เป็นเครื่องมือสำคัญที่ช่วยให้เราสามารถระบุปัญหาของระบบได้ครับ/ค่ะ บันทึกของเซิร์ฟเวอร์ NocoBase จะประกอบด้วยบันทึกการร้องขอ (request logs) ของ API และบันทึกการทำงานของระบบ (system operation logs) ซึ่งสามารถตั้งค่าระดับของบันทึก (log level), กลยุทธ์การหมุนเวียน (rolling strategy), ขนาด, และรูปแบบการแสดงผลได้ เอกสารฉบับนี้จะแนะนำรายละเอียดเกี่ยวกับบันทึกของเซิร์ฟเวอร์ NocoBase รวมถึงวิธีการใช้งานฟังก์ชันการบีบอัดและดาวน์โหลดบันทึกของเซิร์ฟเวอร์ที่ปลั๊กอินบันทึกมีให้ครับ/ค่ะ
สามารถตั้งค่าพารามิเตอร์ที่เกี่ยวข้องกับบันทึก เช่น ระดับของบันทึก, วิธีการส่งออก, และรูปแบบการแสดงผล ได้ผ่าน ตัวแปรสภาพแวดล้อม ครับ/ค่ะ
NocoBase รองรับการตั้งค่ารูปแบบบันทึกที่แตกต่างกัน 4 แบบครับ/ค่ะ
consoleเป็นรูปแบบเริ่มต้นในสภาพแวดล้อมการพัฒนา โดยข้อความจะแสดงผลด้วยสีที่เน้นให้เห็นชัดเจนครับ/ค่ะ
jsonเป็นรูปแบบเริ่มต้นในสภาพแวดล้อมการใช้งานจริง (production) ครับ/ค่ะ
logfmtdelimiterคั่นด้วยตัวคั่น (delimiter) | ครับ/ค่ะ
โครงสร้างไดเรกทอรีหลักของไฟล์บันทึก NocoBase มีดังนี้ครับ/ค่ะ
storage/logs - ไดเรกทอรีสำหรับส่งออกบันทึก
main - ชื่อแอปพลิเคชันหลัก
request_YYYY-MM-DD.log - บันทึกการร้องขอsystem_YYYY-MM-DD.log - บันทึกระบบsystem_error_YYYY-MM-DD.log - บันทึกข้อผิดพลาดของระบบsql_YYYY-MM-DD.log - บันทึกการทำงานของ SQLsub-app - ชื่อแอปพลิเคชันย่อย
request_YYYY-MM-DD.logrequest_YYYY-MM-DD.log เป็นบันทึกการร้องขอและตอบกลับของ API ครับ/ค่ะ
| ฟิลด์ | คำอธิบาย |
|---|---|
level | ระดับของบันทึก |
timestamp | เวลาที่บันทึกถูกสร้าง YYYY-MM-DD hh:mm:ss |
message | request หรือ response |
userId | มีเฉพาะใน response |
method | เมธอดการร้องขอ |
path | พาธการร้องขอ |
req / res | เนื้อหาการร้องขอ/ตอบกลับ |
action | ทรัพยากรและพารามิเตอร์ที่ร้องขอ |
status | รหัสสถานะการตอบกลับ |
cost | ระยะเวลาที่ใช้ในการร้องขอ |
app | ชื่อแอปพลิเคชันปัจจุบัน |
reqId | ID การร้องขอ |
reqId จะถูกส่งไปยังฝั่ง Front-end ผ่านเฮดเดอร์การตอบกลับ X-Request-Id ครับ/ค่ะ
system_YYYY-MM-DD.log เป็นบันทึกการทำงานของระบบ เช่น แอปพลิเคชัน, มิดเดิลแวร์, ปลั๊กอิน เป็นต้น โดยบันทึกระดับ error จะถูกพิมพ์แยกไปยัง system_error_YYYY-MM-DD.log ครับ/ค่ะ
| ฟิลด์ | คำอธิบาย |
|---|---|
level | ระดับของบันทึก |
timestamp | เวลาที่บันทึกถูกสร้าง YYYY-MM-DD hh:mm:ss |
message | ข้อความบันทึก |
module | โมดูล |
submodule | ซับโมดูล |
method | เมธอดที่ถูกเรียก |
meta | ข้อมูลอื่นๆ ที่เกี่ยวข้อง, รูปแบบ JSON |
app | ชื่อแอปพลิเคชันปัจจุบัน |
reqId | ID การร้องขอ |
sql_YYYY-MM-DD.log เป็นบันทึกการทำงานของ SQL ในฐานข้อมูลครับ/ค่ะ โดยคำสั่ง INSERT INTO จะเก็บไว้เพียง 2000 ตัวอักษรแรกเท่านั้น
| ฟิลด์ | คำอธิบาย |
|---|---|
level | ระดับของบันทึก |
timestamp | เวลาที่บันทึกถูกสร้าง YYYY-MM-DD hh:mm:ss |
sql | คำสั่ง SQL |
app | ชื่อแอปพลิเคชันปัจจุบัน |
reqId | ID การร้องขอ |
