บทความนี้จะอธิบายเนื้อหาตามรายการด้านล่าง:
- เมื่อใดจึงจะเข้าสู่ระบบ node.js?
- การบันทึกดำเนินการที่ไหน?
- จะใช้การบันทึกใน Node.js ได้อย่างไร
- ใช้งานการบันทึกใน node.js โดยใช้วิธี “console.log()”
- ใช้งานการบันทึกใน node.js โดยใช้วิธี “console.warn()”
- ใช้งานการบันทึกใน node.js โดยใช้วิธี “console.error()”
- ใช้งานการบันทึกใน node.js โดยใช้วิธี “console.table()”
- ใช้งานการบันทึกใน node.js โดยใช้ “Debug Module”
- ใช้งานการบันทึกใน node.js โดยใช้ “Winston Package”
เมื่อใดจึงจะเข้าสู่ระบบ node.js?
ต่อไปนี้เป็นระดับการบันทึกทั่วไปใน node.js:
- ข้อมูล: งานหรือเอาต์พุตที่ยืนยันการเรียกใช้โค้ดที่คล่องตัว
- เตือน: เหตุการณ์ที่ต้องพิจารณาเพื่อหลีกเลี่ยงความล้มเหลว
- ข้อผิดพลาด: เหตุการณ์ที่ส่งผลให้การเรียกใช้โค้ดล้มเหลว
- ดีบัก: ระดับนี้ส่วนใหญ่จะถูกใช้โดยนักพัฒนา
การบันทึกดำเนินการที่ไหน?
เหตุการณ์บันทึกสามารถจัดคิวได้และผู้ฟังหลายคนสามารถฟังคิวและเขียนลงในบันทึกใดก็ได้ที่ต้องการ ก่อนที่จะสรุปตำแหน่งที่จะบันทึก ควรทราบว่าวิธีการเป้าหมายสามารถรับมือกับข้อความบันทึกหลายข้อความได้ ต่อไปนี้คือตำแหน่งบันทึกทั่วไปบางส่วน:
- มาตรฐาน
- stderr
- คอนโซล
มันเป็นเช่นนี้เองที่เป็นพื้นฐาน” console.log() ' และ ' console.info() ” วิธีการบันทึกไปที่ “ มาตรฐาน '. อย่างไรก็ตาม ' คอนโซล.คำเตือน() ' และ ' คอนโซล.ข้อผิดพลาด() ” วิธีการบันทึกไปที่ “ stderr '. วิธีการเหล่านี้แสดงผลลัพธ์บนคอนโซล ในส่วนหน้า นี่จะเป็นคอนโซลเครื่องมือของโปรแกรมเมอร์
จะใช้การบันทึกใน Node.js ได้อย่างไร
การวิเคราะห์ความจำเป็นในการบันทึกในสถานการณ์ต่างๆ มีความสำคัญอย่างยิ่งต่อการนำแนวทางการบันทึกที่เกี่ยวข้องไปใช้ การบันทึกใน node.js สามารถนำมาใช้ผ่านวิธีการที่ระบุไว้ด้านล่าง:
- “ console.log() ' วิธี.
- “ คอนโซล.คำเตือน() ' วิธี.
- “ คอนโซล.ข้อผิดพลาด() ' วิธี.
- “ console.table() ' วิธี.
- โมดูลดีบัก
- วินสตัน แพ็คเกจ
แนวทางที่ 1: ใช้งานการบันทึกใน node.js โดยใช้วิธี “console.log()”
“ console.log() ” วิธีการแสดงผลลัพธ์บนคอนโซลและมีประโยชน์สำหรับการทดสอบการทำงานของโค้ดเป็นครั้งคราว
ไวยากรณ์
คอนโซล บันทึก ( ความยุ่งเหยิง )
ในรูปแบบนี้ “ ความยุ่งเหยิง ” หมายถึงข้อความที่จะเขียนลงคอนโซล
ตอนนี้ ดำเนินการต่อไปยังบล็อกโค้ดด้านล่างที่บันทึกข้อความที่ให้ไว้บนคอนโซล:
คอนโซล บันทึก ( 'นี่คือลินุกซ์ชินท์!' ) ;คอนโซล บันทึก ( 'นี่คือโหนด js!' ) ;
เอาท์พุต
จากผลลัพธ์นี้ ก็สามารถบอกเป็นนัยได้ว่าข้อความที่ระบุจะแสดงบนคอนโซลอย่างเหมาะสม
แนวทางที่ 2: ใช้งานการบันทึกใน node.js โดยใช้วิธี “console.warn()”
“ คอนโซล.คำเตือน() ” วิธีการแสดงข้อความเตือนไปยังคอนโซล
ไวยากรณ์
คอนโซล เตือน ( ความยุ่งเหยิง )ในไวยากรณ์ที่กำหนด “ ความยุ่งเหยิง ” ระบุข้อความ (กำหนดเองเช่นกัน) ที่จะแสดงบนคอนโซล
ตอนนี้ไปที่บรรทัดโค้ดต่อไปนี้ซึ่งจะแสดงข้อความเตือนที่กำหนดเองด้วยความช่วยเหลือของ ' คอนโซล.คำเตือน() ' วิธี:
คอนโซล เตือน ( “นี่คือคำเตือน!” ) ;เอาท์พุต
ตามที่เห็น คำเตือนแบบกำหนดเองที่ระบุจะแสดงอย่างเหมาะสม
แนวทางที่ 3: ใช้งานการบันทึกใน node.js โดยใช้วิธี “console.error()”
วิธีการนี้เขียนข้อความแสดงข้อผิดพลาดไปยังคอนโซล
ไวยากรณ์
คอนโซล ข้อผิดพลาด ( [ ข้อมูล ] [ , ... ข้อโต้แย้ง ] )ในรูปแบบนี้:
- “ ข้อมูล ” หมายถึงข้อความหลัก
- “ ข้อโต้แย้ง ” เป็นตัวแทนของคุณค่า
ค่าส่งคืน
วิธีการนี้ดึงข้อความแสดงข้อผิดพลาด
ภาพรวมของโค้ดต่อไปนี้ที่บันทึกข้อความแสดงข้อผิดพลาดตามเงื่อนไขที่ไม่น่าพอใจ:
x = 150 ;ถ้า ( x < 100 ) {
คอนโซล บันทึก ( 'ไปได้ดี' ) ;
}
อื่น {
คอนโซล ข้อผิดพลาด ( 'หมายเลขไม่เหมาะสม' ) ;
}
ตามรหัสนี้:
- เริ่มต้นจำนวนเต็มเพื่อวิเคราะห์เงื่อนไข
- หลังจากนั้นให้สมัคร “ ถ้า ” คำสั่งดังกล่าวหากจำนวนเต็มเริ่มต้นน้อยกว่า “100” ข้อความที่ระบุจะปรากฏขึ้น
- มิฉะนั้น “ อื่น ” คำสั่งดำเนินการข้อความแสดงข้อผิดพลาดใน “ คอนโซล.ข้อผิดพลาด() ' วิธี.
เอาท์พุต
ผลลัพธ์นี้ยืนยันว่าตามเงื่อนไขที่ไม่พอใจ ข้อความแสดงข้อผิดพลาดแบบกำหนดเองจะแสดงบนคอนโซลตามลำดับ
แนวทางที่ 4: ใช้งานการบันทึกใน node.js โดยใช้วิธี “console.table()”
วิธีการนี้จะสร้างและแสดงตารางบนคอนโซล
ไวยากรณ์
คอนโซล โต๊ะ ( ทีดี ทีซี )ที่นี่, ' ทีดี ” หมายถึงข้อมูลตาราง และ “ ทีซี ” หมายถึงอาร์เรย์ของคอลัมน์ในตาราง
ตอนนี้ ให้อ่านคำสั่งโค้ดด้านล่างที่สร้างตารางโดยกำหนดดัชนีแยกต่างหากให้กับค่าที่กำหนดของประเภทข้อมูลวิดีโอสองครั้ง:
คอนโซล โต๊ะ ( [ { x : : 10 , ก : : “แฮร์รี่” } , { x : : สิบห้า , ก : : 'กับ' } ] ) ;เอาท์พุต
แนวทางที่ 5: ใช้งานการบันทึกใน node.js โดยใช้ “Debug Module”
โมดูลนี้สามารถใช้เพื่อบันทึกข้อมูลเพิ่มเติมเกี่ยวกับสถานะของมิดเดิลแวร์ของเว็บ เช่น Express, Koa ฯลฯ เมื่อแบ็คเอนด์ได้รับคำขออินเทอร์เน็ต มิดเดิลแวร์ถูกใส่เข้าไปในไปป์ไลน์คำขอ
ต่อไปนี้เป็นวิธีการตั้งค่ามิดเดิลแวร์การบันทึก:
ตัวอย่างที่ 1: การตั้งค่ามิดเดิลแวร์การบันทึกจากแอปพลิเคชัน
“ แอพ.ใช้() ” ฟังก์ชั่นเมานต์ฟังก์ชั่นมิดเดิลแวร์เป้าหมายที่เส้นทางที่ระบุ
ไวยากรณ์
แอป. ใช้ ( pt, cb )ในไวยากรณ์ที่กำหนดข้างต้น:
- “ จุด ” หมายถึงเส้นทางที่จะเรียกใช้ฟังก์ชันมิดเดิลแวร์
- “ ซีบี ” สอดคล้องกับฟังก์ชันมิดเดิลแวร์
ต่อไปนี้เป็นการสาธิตโค้ดที่ตั้งค่ามิดเดิลแวร์การบันทึกผ่านแอปพลิเคชันและวิธีการที่กล่าวถึง:
ค่าคงที่ แอป = ด่วน ( )ค่าคงที่ บันทึกมิดเดิลแวร์ = จำเป็นต้อง ( 'มิดเดิลแวร์การบันทึกของฉัน' )
แอป. ใช้ ( บันทึกมิดเดิลแวร์ )
ในโค้ดนี้ ให้สร้างแอปพลิเคชัน Express และรวม “ มิดเดิลแวร์การบันทึกของฉัน ” เพื่อเริ่มทำงานกับมิดเดิลแวร์การบันทึก สุดท้ายนี้ ใช้ ' แอพ.ใช้() ” ฟังก์ชั่นเพื่อเมานต์ฟังก์ชั่นมิดเดิลแวร์เป้าหมายที่เส้นทางที่ระบุ
ตัวอย่างที่ 2: การตั้งค่ามิดเดิลแวร์การบันทึกจากแอปพลิเคชันผ่านเราเตอร์
“ เราเตอร์.ใช้() ” ฟังก์ชั่นเมานต์มิดเดิลแวร์สำหรับเส้นทางที่ให้บริการผ่านเราเตอร์เป้าหมาย
ไวยากรณ์
เราเตอร์ ใช้ ( สำหรับฟังก์ชั่น )ในรูปแบบนี้:
- “ จุด ” หมายถึงเส้นทางมิดเดิลแวร์
- “ ฟังก์ชั่น ” สอดคล้องกับฟังก์ชันที่ส่งผ่านเป็นการเรียกกลับ
ตัวอย่างด้านล่างตั้งค่ามิดเดิลแวร์การบันทึกด้วยความช่วยเหลือของออบเจ็กต์เราเตอร์และ ' เราเตอร์.ใช้() ' การทำงาน:
ค่าคงที่ เราเตอร์ = ด่วน. เราเตอร์ ( )ค่าคงที่ rtLoggingMiddleware = จำเป็นต้อง ( 'มิดเดิลแวร์บันทึกเส้นทางของฉัน' )
เราเตอร์ ใช้ ( rtLoggingMiddleware )
ในรหัสนี้:
- “ ด่วน.เราเตอร์() ” ฟังก์ชั่นสร้างวัตถุเราเตอร์ใหม่
- หลังจากนั้นให้ระบุ “ มิดเดิลแวร์บันทึกเส้นทางของฉัน ” และเช่นเดียวกัน ให้ใช้ “ เราเตอร์.ใช้() ” ฟังก์ชั่นเพื่อเมานต์มิดเดิลแวร์สำหรับเส้นทางที่ให้บริการโดยเราเตอร์เป้าหมาย
แนวทางที่ 6: ใช้งานการบันทึกใน node.js โดยใช้ “Winston Package”
แพ็คเกจเฉพาะนี้ประกอบด้วยตัวเลือกพื้นที่เก็บข้อมูล ระดับบันทึกหลายระดับ การสืบค้น และตัวสร้างโปรไฟล์ ต่อไปนี้เป็นการสาธิตโค้ดที่ใช้การบันทึกด้วยวิธีนี้:
ค่าคงที่ x = ด่วน ( )ค่าคงที่ รวม = จำเป็นต้อง ( 'วินสตัน' )
ค่าคงที่ คอนโซลการขนส่ง = ใหม่ รวม. การขนส่ง . คอนโซล ( )
ค่าคงที่ เลือก = {
การขนส่ง : : [ คอนโซลการขนส่ง ]
}
ค่าคงที่ คนตัดไม้ = ใหม่ รวม. createLogger ( เลือก )
ฟังก์ชั่นแสดงคำขอ ( ร้องขอ, ตอบกลับ, ถัดไป ) {
คนตัดไม้ ข้อมูล ( คำขอ URL )
ต่อไป ( )
}
x. ใช้ ( คำขอจอแสดงผล )
ฟังก์ชั่นการแสดงผลผิดพลาด ( ผิดพลาด ร้องขอ ตอบกลับ ถัดไป ) {
คนตัดไม้ ข้อผิดพลาด ( ผิดพลาด )
ต่อไป ( )
}
x. ใช้ ( จอแสดงผลผิดพลาด )
ในรหัสนี้:
- สามารถตั้งค่าการขนส่งหลายรายการได้ด้วยการกรองและสามารถตั้งค่าตัวจัดรูปแบบแบบกำหนดเองได้
- นอกจากนี้ ยังมีการระบุอินสแตนซ์ตัวบันทึกหลายรายการในฟังก์ชันที่แตกต่างกัน เช่น “ คนตัดไม้.ข้อมูล() ' และ ' คนตัดไม้.ข้อผิดพลาด() '.
- ตัวบันทึกเหล่านี้จะแสดงข้อมูลและข้อความแสดงข้อผิดพลาดตามลำดับ
- ในรหัสนี้ เฉพาะ URL ที่ร้องขอเท่านั้นที่ถูกบันทึกไว้
ตัวบันทึกจะใช้พารามิเตอร์ที่กำหนดด้านล่าง:
ชื่อ | ค่าเริ่มต้น | คำอธิบาย |
รูปแบบ | Winston.format.json | จัดรูปแบบข้อความข้อมูล |
เงียบ | เท็จ | หากเป็นจริง บันทึกทั้งหมดจะถูกระงับ |
exitOnError | จริง | หากเป็นเท็จ ข้อยกเว้นที่ได้รับการจัดการจะไม่ทำให้เกิดกระบวนการ exit |
ระดับ | Winston.config.npm.levels | ระดับต่างๆ อ้างอิงถึงลำดับความสำคัญของบันทึก |
บทสรุป
การเข้าสู่ระบบใน node.js สามารถใช้งานได้ผ่านทาง “ console.log() ” วิธีการ “ คอนโซล.คำเตือน() ” วิธีการ “ คอนโซล.ข้อผิดพลาด() ” วิธีการ “ console.table() ” วิธีการ “ โมดูลดีบัก ” หรือผ่านทาง “ วินสตัน แพ็คเกจ '. วิธีการคอนโซลแสดงข้อมูลและข้อความแสดงข้อผิดพลาด โมดูล Debug จะบันทึกข้อมูลเพิ่มเติมเกี่ยวกับสถานะของมิดเดิลแวร์ของเว็บ และแพ็คเกจ Winston จะมีตัวเลือกการจัดเก็บและระดับการบันทึกต่างๆ