บันทึกแบบมีโครงสร้างที่ค้นหาได้
ส่งบันทึก JSON พร้อมข้อมูลเชื่อมโยงคำขอ
บันทึกแบบมีโครงสร้างที่ค้นหาได้ เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
บันทึกที่นำไปใช้ได้จริง
บันทึกข้อความธรรมดาอ่านง่ายสำหรับมนุษย์ แต่จัดการได้ยากเมื่อมีข้อมูลจำนวนมาก บันทึกแบบมีโครงสร้างจะเก็บแต่ละเหตุการณ์เป็นข้อมูล ทำให้เครื่องสามารถกรองและค้นหาได้อย่างรวดเร็ว 🔎
เหตุใด JSON จึงเป็นตัวเลือกที่ดี
ส่งออกบันทึกแต่ละบรรทัดเป็น ออบเจ็กต์ JSON ทุกฟิลด์จะค้นหาได้ จึงสามารถสืบค้นตามเครื่องมือ สถานะ หรือระยะเวลาได้โดยไม่ต้องแยกวิเคราะห์ข้อความที่เปราะบาง
ส่วนประกอบของเหตุการณ์ในบันทึก
เหตุการณ์ที่ดีควรมี การประทับเวลา ระดับ ข้อความ และฟิลด์บริบท เมื่อรวมกันแล้ว สิ่งเหล่านี้จะบอกได้ว่าเกิดอะไรขึ้น เมื่อใด และเพราะเหตุใด
{"ts": "2026-01-01T10:00:00Z",
"level": "info",
"msg": "tool called",
"tool": "search"}เลือกระดับที่เหมาะสม
ใช้ ระดับบันทึกอย่างมีจุดประสงค์: debug สำหรับรายละเอียด info สำหรับการทำงานตามปกติ warning สำหรับปัญหาที่ควรระวัง และ error สำหรับความล้มเหลว ระดับเหล่านี้ช่วยให้คุณเพิ่มหรือลดเสียงรบกวนได้
ID สำหรับเชื่อมโยง
กำหนด ID สำหรับเชื่อมโยง ที่ไม่ซ้ำกันให้แต่ละคำขอ แล้วประทับ ID นี้ลงในบันทึกทุกรายการที่คำขอนั้นสร้างขึ้น จากนั้นการค้นหาเพียงครั้งเดียวก็จะแสดงเรื่องราวทั้งหมดของการเรียกครั้งเดียวได้
สร้าง ID
UUID เหมาะสำหรับใช้เป็น ID สำหรับเชื่อมโยง เพราะมีความไม่ซ้ำกันมากพอที่จะไม่ชนกันระหว่างคำขอต่าง ๆ
import uuid
request_id = str(uuid.uuid4())
print(request_id)บันทึกไปยัง stderr ไม่ใช่ stdout
เมื่อสื่อสารผ่าน stdio, stdout จะใช้ส่งโปรโตคอล MCP เอง ให้ส่งบันทึกไปยัง stderr เสมอ เพื่อไม่ให้บันทึกไปทำให้ข้อความ JSON-RPC เสียหาย
มอดูล logging ของ Python
มอดูล logging ในตัวของ Python มีระดับและตัวจัดการให้ใช้ได้ทันที กำหนดให้ตัวจัดการส่งข้อมูลไปยัง stderr แล้วคุณก็ทำไปได้เกือบครึ่งทาง
import logging, sys
logging.basicConfig(stream=sys.stderr,
level=logging.INFO)
log = logging.getLogger("mcp")เพิ่มฟิลด์ ไม่ใช่ข้อความ
อย่ายัดค่าต่าง ๆ ลงในข้อความโดยตรง ให้ส่งค่าเหล่านั้นเป็น ฟิลด์เพิ่มเติม เพื่อให้แต่ละค่าคงเป็นคอลัมน์ที่ค้นหาได้แยกจากกันในภายหลัง
log.info("tool finished",
extra={"tool": "search",
"ms": 42})อย่าบันทึกข้อมูลลับเด็ดขาด
บันทึกมีการส่งต่อและคงอยู่เป็นเวลานาน ดังนั้นให้ ปกปิดโทเค็น คีย์ และข้อมูลส่วนบุคคลก่อนเขียนลงบันทึก ข้อมูลลับที่รั่วไหลในบันทึกถือเป็นการละเมิดความปลอดภัยอย่างแท้จริง 🔒
ให้หนึ่งเหตุการณ์อยู่หนึ่งบรรทัด
เขียน ออบเจ็กต์ JSON หนึ่งรายการต่อหนึ่งบรรทัด รูปแบบที่แบ่งข้อมูลด้วยบรรทัดนี้เป็นสิ่งที่ระบบส่งบันทึกและเครื่องมือค้นหาคาดว่าจะรับข้อมูลได้อย่างถูกต้อง
ตรวจสอบอย่างรวดเร็ว
มีรายละเอียดหนึ่งอย่างที่ทำให้ผู้เขียน MCP หลายคนสะดุด
สรุปทบทวน
คุณได้เรียนรู้การบันทึกเป็น JSON ที่ค้นหาได้: หนึ่งเหตุการณ์ต่อหนึ่งบรรทัด ระดับที่มีประโยชน์ ID สำหรับเชื่อมโยง ข้อมูลลับที่ปกปิดแล้ว และการส่งออกไปยัง stderr 📋
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “บันทึกแบบมีโครงสร้างที่ค้นหาได้” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “บันทึกแบบมีโครงสร้างที่ค้นหาได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “บันทึกแบบมีโครงสร้างที่ค้นหาได้”
ส่งบันทึก JSON พร้อมข้อมูลเชื่อมโยงคำขอ คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “บันทึกแบบมีโครงสร้างที่ค้นหาได้” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม
ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สิ่งที่ควรวัดในเซิร์ฟเวอร์
- บันทึกแบบมีโครงสร้างที่ค้นหาได้
- ติดตามการเรียกเครื่องมือตั้งแต่ต้นจนจบ
- แจ้งเตือนเมื่อเกิดความล้มเหลวหรือการใช้งานในทางที่ผิด