วิธีการใช้งานการบันทึกใน Node.js

Withi Kar Chi Ngankar Banthuk Ni Node Js



การบันทึก ” ใน node.js มีบทบาทสำคัญในการรักษาวงจรชีวิตทั้งหมดของขั้นตอนการพัฒนาเว็บไซต์ การบันทึกเป็นฟังก์ชันทั่วไปที่นักพัฒนาดำเนินการเพื่อวิเคราะห์ฟังก์ชันการทำงานของโค้ดเป็นครั้งคราวเพื่อวิเคราะห์ข้อมูล และเขียนโค้ดและแก้ไขข้อผิดพลาดตามการวิเคราะห์โค้ด

บทความนี้จะอธิบายเนื้อหาตามรายการด้านล่าง:

เมื่อใดจึงจะเข้าสู่ระบบ 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 จะมีตัวเลือกการจัดเก็บและระดับการบันทึกต่างๆ