Pythonのloggingモジュールを使用してログを出力する方法は何ですか?
Python内でログ出力機能を実現するためには、組み込みのloggingモジュールを使用できます。以下は簡単な例です:
import logging
# 配置日志输出的格式和级别
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
# 打印不同级别的日志
logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')
結果は以下の通りです。
2019-08-01 10:30:00,000 - DEBUG - This is a debug message
2019-08-01 10:30:00,001 - INFO - This is an info message
2019-08-01 10:30:00,002 - WARNING - This is a warning message
2019-08-01 10:30:00,003 - ERROR - This is an error message
2019-08-01 10:30:00,004 - CRITICAL - This is a critical message
上記の例では、私たちはbasicConfig関数を使用してログの出力レベルをDEBUGに設定し、ログの出力形式を定義しました。その後、logging.debug、logging.infoなどのメソッドを使用して、異なるレベルのログを出力します。
filenameパラメーターをファイルパスに設定するだけで、ログをコンソールに出力する代わりにファイルに出力することもできます。
import logging
logging.basicConfig(level=logging.DEBUG, filename='mylog.log', filemode='w', format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a debug message')
こうすると、ログ情報はmylog.logファイルに書き込まれます。
上記の基本的な使い方以外にも、loggingモジュールには、複数のロギングレコーダーの設定、ログフィルターの設定、異なるログハンドラーの定義など、さらに多くの機能が提供されています。詳細は公式ドキュメントを参照してください:https://docs.python.org/3/library/logging.html