自動化テスト-構成ログ-loggingモジュール


自動化テスト-構成ログ-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)
    
  • に出力チャネルを追加する.