Python:
การเขียนไปยังข้อผิดพลาดมาตรฐาน
วิธีการ:
การใช้ sys.stderr
โมดูล sys
ที่มีอยู่ในตัวของ Python ช่วยให้สามารถเขียนไปยัง stderr
ได้อย่างชัดเจน วิธีนี้เหมาะสำหรับการส่งข้อความข้อผิดพลาดหรือการวินิจฉัยที่ง่าย
import sys
sys.stderr.write('ข้อผิดพลาด: เกิดข้อผิดพลาดบางอย่าง.\n')
ผลลัพธ์ตัวอย่าง (ไปที่ stderr):
ข้อผิดพลาด: เกิดข้อผิดพลาดบางอย่าง.
การใช้ฟังก์ชัน print
ฟังก์ชัน print
ของ Python สามารถเปลี่ยนเส้นทางออกของมันไปยัง stderr
โดยการระบุพารามิเตอร์ file
วิธีนี้มีประโยชน์สำหรับการใช้ความสามารถที่ใช้งานง่ายของ print
ในขณะที่จัดการกับข้อความข้อผิดพลาด
from sys import stderr
print('ข้อผิดพลาด: ล้มเหลวในโมดูล.', file=stderr)
ผลลัพธ์ตัวอย่าง (ไปที่ stderr):
ข้อผิดพลาด: ล้มเหลวในโมดูล.
การใช้โมดูล logging
สำหรับวิธีการที่ครอบคลุมยิ่งขึ้น, โมดูล logging
ของ Python สามารถส่งข้อความไปยัง stderr
และอื่น ๆ อีกมากมาย, เช่น การเขียนไปยังไฟล์หรือการปรับแต่งรูปแบบข้อความ วิธีนี้เหมาะสมที่สุดสำหรับแอปพลิเคชันที่ต้องการระดับการบันทึกที่แตกต่างกัน, การจัดรูปแบบข้อความ, หรือปลายทาง
import logging
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.error('ข้อผิดพลาด: การเชื่อมต่อฐานข้อมูลล้มเหลว.')
ผลลัพธ์ตัวอย่าง (ไปที่ stderr):
ERROR:__main__:ข้อผิดพลาด: การเชื่อมต่อฐานข้อมูลล้มเหลว.
ไลบรารีภายนอก: loguru
loguru
เป็นไลบรารีภายนอกที่ได้รับความนิยมซึ่งทำให้กระบวนการบันทึกในแอปพลิเคชัน Python ง่ายขึ้น มันสามารถส่งข้อผิดพลาดไปยัง stderr
อัตโนมัติ ในหมู่คุณสมบัติอื่น ๆ
เพื่อใช้ loguru
, ก่อนอื่นต้องติดตั้งผ่าน pip:
pip install loguru
จากนั้น, นำไปใช้กับสคริปต์ Python ของคุณดังนี้:
from loguru import logger
logger.error('ข้อผิดพลาด: ไม่สามารถเปิดไฟล์ได้.')
ผลลัพธ์ตัวอย่าง (ไปที่ stderr):
2023-04-05 12:00:00.000 | ERROR | __main__:<module>:6 - ข้อผิดพลาด: ไม่สามารถเปิดไฟล์ได้.