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 - ข้อผิดพลาด: ไม่สามารถเปิดไฟล์ได้.