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.