การเขียนไปยังข้อผิดพลาดมาตรฐาน

Elixir:
การเขียนไปยังข้อผิดพลาดมาตรฐาน

วิธีการ:

ใน Elixir, คุณสามารถใช้ฟังก์ชันในโมดูล IO เช่น IO.puts/2 และ IO.warn/2 เพื่อเขียนข้อความไปยังข้อผิดพลาดมาตรฐาน:

# เขียนข้อความง่ายๆ ไปยัง stderr
IO.puts(:stderr, "Error: Something went wrong!")

# ใช้ IO.warn ซึ่งมีความหมายมากกว่าสำหรับการเตือน/ข้อผิดพลาด
IO.warn("Warning: You are about to exceed the limit!")

ผลลัพธ์ตัวอย่างในเทอร์มินัลสำหรับ IO.puts/2:

Error: Something went wrong!

สำหรับ IO.warn/2, ผลลัพธ์จะคล้ายกัน แต่ IO.warn/2 ออกแบบมาสำหรับการเตือนโดยเฉพาะ และอาจรวมการจัดรูปแบบหรือพฤติกรรมเพิ่มเติมในเวอร์ชัน Elixir อนาคต

ใช้ไลบรารีบุคคลที่สาม

แม้ว่าไลบรารีมาตรฐานของ Elixir มักเพียงพอสำหรับการจัดการกับการแสดงผลข้อผิดพลาดมาตรฐาน คุณอาจพบว่าไลบรารีเช่น Logger เป็นประโยชน์สำหรับแอปพลิเคชันที่ซับซ้อนมากขึ้นหรือสำหรับการกำหนดค่าระดับประเภทบันทึกและการแสดงผลที่แตกต่างกัน

ตัวอย่างการใช้ Logger เพื่อแสดงข้อความข้อผิดพลาด:

require Logger

# กำหนดค่า Logger เพื่อแสดงผลไปยัง stderr
Logger.configure_backend(:console, device: :stderr)

# เขียนข้อความข้อผิดพลาด
Logger.error("Error: Failed to connect to the database.")

การตั้งค่านี้นำผลลัพธ์ของ Logger ไปสู่ stderr โดยเฉพาะ ซึ่งเป็นประโยชน์สำหรับการแยกการบันทึกข้อผิดพลาดออกจากข้อความบันทึกมาตรฐาน