Python:
標準エラーへの書き込み
方法:
sys.stderr
を使用する
Pythonの組み込みsys
モジュールはstderr
への明示的な書き込みを許可します。このアプローチは、単純なエラーメッセージや診断に直接的です。
import sys
sys.stderr.write('Error: Something went wrong.\n')
標準エラー出力へのサンプル出力:
Error: Something went wrong.
print
関数を使う
Pythonのprint
関数は、file
パラメータを指定することで出力をstderr
にリダイレクトできます。この方法はprint
のユーザーフレンドリーさを活用しつつ、エラーメッセージを扱うのに便利です。
from sys import stderr
print('Error: Failure in module.', file=stderr)
標準エラー出力へのサンプル出力:
Error: Failure in module.
logging
モジュールを使用する
より包括的な解決策として、Pythonのlogging
モジュールはメッセージをstderr
に直接送るだけでなく、ファイルへの書き込みやメッセージ形式のカスタマイズなど、さまざまなことを実現できます。この方法は、様々なログレベル、メッセージ形式、または宛先が必要なアプリケーションに最適です。
import logging
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.error('Error: Database connection failed.')
標準エラー出力へのサンプル出力:
ERROR:__main__:Error: Database connection failed.
サードパーティのライブラリ:loguru
loguru
はPythonアプリケーションのログを簡素化する人気のサードパーティライブラリです。エラーを自動的にstderr
に向けるなど、さまざまな機能を提供します。
loguru
を使用するには、まずpip経由でインストールします:
pip install loguru
次に、以下のようにPythonスクリプトに組み込みます:
from loguru import logger
logger.error('Error: Failed to open file.')
標準エラー出力へのサンプル出力:
2023-04-05 12:00:00.000 | ERROR | __main__:<module>:6 - Error: Failed to open file.