Pythonのロギングモジュールロギングについて学ぶ、あなたは非常に詳細な記述は、次のブログを参照することができます
https://www.cnblogs.com/yyds/p/6901864.html
https://www.cnblogs.com/goodhacker/p/3355660.html
https://cuiqingcai.com/6080.html
練習:ログモジュールは、インターフェースリクエスト+ Excelのテストフレームワークに追加され
フォルダのログ、出力を格納するためのログファイルを作成します。utilsの中logger.pyは、ツールを作成し、メソッド呼び出しのログをパッケージ
次のようにlogger.py読み取り
# - * -コーディング:UTF-8 - * - インポートログ のインポートOS のインポートがGETCWD utilsのから 開き、log_pathを、= os.path.dirname(getcwd.get_cwd()) を印刷(開き、log_path、) クラスのLogger: DEF __init __(自己、loggerName): #ロガー作成 self.logger = logging.getLogger(loggerName) self.logger.setLevel(logging.DEBUG) #ログファイルの書き込みのため、ハンドラを作成 開き、log_pathを= os.path.dirnameを(getcwd.get_cwd()) + " /ログ/「#出力ファイルのパスを指定して、フォルダは、必ず追加することを注意ログは/、それ以外の場合はエラー出力パスにつながる、ログはファイル名の一部になる LOGNAME =開き、log_path + 『out.log』#出力を指定しますログファイル名 FH = logging.FileHandler(LOGNAME、コード= 'UTF-8')# ログ文字化けテキスト出力予防、コードUTF-8フォーマットを指定 fh.setLevel(logging.DEBUG)を #ハンドラを作成し、コンソールにログを出力するため CH = logging.StreamHandler() ch.setLevel(logging.DEBUG) #ハンドラ定義された形式の出力 フォーマッタ= logging.Formatter(「%(いるasctime )S - %(名前)S - %(levelname)S - %(メッセージ)S「) fh.setFormatter(フォーマッタ) ch.setFormatter(フォーマッタ) #Addをロガーにハンドラ self.logger.addHandler(FH) self.logger.addHandler(CH) DEF (自己)GET_LOG:
"" "" "の関数コールバックロガー定義" 戻りself.loggerを IF __name__ == '__main__': 。T =ロガー( "HMK")は、()デバッグ(「%SはユーザであるがGET_LOG。 loging「% 'jeck')
主な機能run_main.pyで使用されるログ
#のコード:UTF-8 #著者:HMK base.mainインポートrunMethodのようになりから get_datas.get_data輸入のGetDataから utils.handle_excel輸入HandleExcelのから の輸入JSON utils.loggerインポートロガーから :クラスRunMain デフ__init __(自己): "" "实例化写好的类、备用""」 self.run_method = runMethodのようになり() self.get_data =のGetData() self.excel = HandleExcel() self.logger =ロガー(__ name__) デフ(自己)を実行します: 数= self.get_data。 get_nrows() #プリント(数) の範囲(1カウント)での私のために: 優先順位= self.get_data.get_priority(I)#获取用例的优先级優先 URL = self.get_data.get_url(I)#获取用例的URL メソッド= self.get_data.get_method(I)#取得要求メソッド のparams = self.get_data.get_params(I)#取得パラメータ(データはここで取り出され、文字列形式) 辞書に即ちparams_load =取得したパラメータ#1デシリアライゼーションにjson.loads(paramsは)、 except_value = self.get_data.get_except_value(I)#は、期待される結果値を得る IF優先== 'H': R&LT = self.run_method.run_main(メソッド、URL、params_load 、ヘッダ=なし)# ユースケースは、高優先度、実行された場合 #プリント(R&LT)self.logger.get_log()。デバッグ( '第' + STR(I) + 'インターフェイスの結果返す:%s'を、コンテンツに応じてR)#出力インタフェース #プリント(型(R&LT)) IFにおけるR&LT except_value: #プリント(self.get_data.get_caseSeq(I)+ 'テストに合格') self.logger.get_log()。デバッグ( '最初の' + STR(I)+ 'インターフェース・テストを通じて') #1 self.get_data.write_values(I 'PASS')#コールget_data.pyファイルwrite_values()メソッド self.excel.write_value(I、11 'パス ')#1 のコールhandle_excel.pyファイルwrite_value()メソッド 他: #印刷(self.get_data.get_caseSeq(I)+ 'の失敗') self.logger.get_log ().DEBUG( '第' + STR(I)+ 'インターフェーステストが通過しない') #1 self.get_data.write_values(I 'FAIL') self.excel.write_value(I ,. 11、 '失敗') __name__ IF == '__main__': T = RunMain() t.run()
ログの内容をプリントアウト
あなたは、実行するコードのコンテンツを視聴するには、印刷出力で置き換えることができるように