自動化テスト-構成ログ-loggingモジュール
3697 ワード
自動化テスト-構成ログ-loggingモジュール
loggingモジュールを理解する前に、なぜログを印刷するのかを明らかにします.プログラムの実行中のエラーを記録し、位置決めの問題を追跡しやすく、デバッグとメンテナンスコストを削減します. ログによってプログラム全体の実行プロセスを復元することができ、プログラム全体の状態を理解することができる.
ログ・レベル
レベル
値
定義#テイギ#
NOTSET
0
基本的には
DEBUG
10
プログラムの実行の詳細を記録し、一般的にデバッグ用に使用されます.
INFO
20
アテステーションプログラムが期待どおりに動作する
WARNING
30
予期せぬヒント、または将来問題が発生する可能性のあるヒント
ERROR
40
より深刻な問題
CRITICAL
50
重大な問題、プログラムおよび終了
ログの出力は、定義されたログ・レベルに基づいて、定義されたログ・レベル以上が出力されます.
たとえば、あなたが定義したログ・レベルがWARNINGであれば、WARNING、ERROR、CRITICALレベルのエラーが表示されます.
loggingモジュールのインポート
ログ出力を定義するにはログコレクタ を作成するログ収集ログのレベル を定義する.ログ出力チャネル を定義する.ログ出力チャネル出力ログのレベル を定義する.ログ出力のフォーマット を定義するログコレクタ に出力チャネルを追加する.
loggingモジュールを理解する前に、なぜログを印刷するのかを明らかにします.
ログ・レベル
レベル
値
定義#テイギ#
NOTSET
0
基本的には
DEBUG
10
プログラムの実行の詳細を記録し、一般的にデバッグ用に使用されます.
INFO
20
アテステーションプログラムが期待どおりに動作する
WARNING
30
予期せぬヒント、または将来問題が発生する可能性のあるヒント
ERROR
40
より深刻な問題
CRITICAL
50
重大な問題、プログラムおよび終了
ログの出力は、定義されたログ・レベルに基づいて、定義されたログ・レベル以上が出力されます.
たとえば、あなたが定義したログ・レベルがWARNINGであれば、WARNING、ERROR、CRITICALレベルのエラーが表示されます.
loggingモジュールのインポート
import logging # logging
ログ出力を定義するには
self.logger = logging.getLogger(logger_name)
self.logger.setLevel(level=logging.DEBUG)
handler_stream = logging.StreamHandler() # ( )
handler_file = logging.FileHandler(filename=LOG_DIR, encoding="utf-8") # ( )
handler_stream.setLevel(level=stream_level) #
handler_file.setLevel(level=file_level)
formatter = logging.Formatter(log_format) #
handler_file.setFormatter(formatter)
handler_stream.setFormatter(formatter)
self.logger.addHandler(handler_stream) #
self.logger.addHandler(handler_file)