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

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