JavaScript:
การเขียนไปยังข้อผิดพลาดมาตรฐาน
วิธีทำ:
ใน Node.js การเขียนลงใน stderr สามารถทำได้โดยใช้เมธอด console.error() หรือโดยการเขียนตรงไปยัง process.stderr นี่คือตัวอย่างที่แสดงวิธีการทั้งสอง:
// ใช้ console.error()
console.error('นี่คือข้อความแสดงผิดพลาด.');
// เขียนลงใน process.stderr โดยตรง
process.stderr.write('นี่คือข้อความแสดงผิดพลาดอีกอันหนึ่ง.\n');ผลลัพธ์ตัวอย่างสำหรับทั้งสองวิธีจะปรากฏในสตรีม stderr ไม่ได้ผสมปนกับ stdout:
นี่คือข้อความแสดงผิดพลาด.
นี่คือข้อความแสดงผิดพลาดอีกอันหนึ่ง.สำหรับการบันทึกข้อมูลที่ซับซ้อนกว่าหรือเฉพาะเจาะจงต่อแอปพลิเคชั่น โปรแกรมเมอร์ JavaScript หลายคนใช้ไลบรารีของบุคคลที่สามเช่น winston หรือ bunyan นี่คือตัวอย่างอย่างรวดเร็วโดยใช้ winston:
ก่อนอื่น ติดตั้ง winston ผ่าน npm:
npm install winstonจากนั้น กำหนดค่า winston เพื่อบันทึกข้อผิดพลาดลงใน stderr:
const winston = require('winston');
const logger = winston.createLogger({
levels: winston.config.syslog.levels,
transports: [
new winston.transports.Console({
stderrLevels: ['error']
})
]
});
// การบันทึกข้อความแสดงผิดพลาด
logger.error('ความผิดพลาดได้ถูกบันทึกผ่าน winston.');การตั้งค่านี้ให้ความมั่นใจว่า เมื่อคุณบันทึกข้อผิดพลาดโดยใช้ winston มันจะไปที่ stderr ช่วยให้มีการแยกแยะที่ชัดเจนระหว่างผลลัพธ์มาตรฐานและข้อผิดพลาด