エラーが発生したら、error.logに出力してほしい

エラーが発生した場合にログを記録するために、Pythonの標準ライブラリである logging モジュールを使用することができます。以下は、エラーが発生した場合に error.log ファイルにログを出力する方法の例です。

python
import functools import logging def log_errors(func): @functools.wraps(func) def wrapper(*args, **kwargs): try: return func(*args, **kwargs) except Exception as e: logging.error(f"Error in function {func.__name__}: {str(e)}", exc_info=True) raise # エラーを再度発生させて呼び出し元に伝搬させます return wrapper logging.basicConfig(filename='error.log', level=logging.ERROR) @log_errors def example_function(x, y): return x / y example_function(10, 0) # ゼロで割り算をするのでエラーが発生します

この例では、log_errors デコレータを使用してエラーが発生した場合にログを出力しています。logging.error() メソッドを使用してエラーメッセージをログファイルに書き込みます。exc_info=True を指定することで、エラーのスタックトレースもログに含めることができます。

未分類

Posted by ぼっち