pythonのloggingについて勉強をしています。
スクレイピングツールを開発しており、ログを2種類別、ファイルに出力したいです。
0. ループごとに結果を出力
0. エラーが発生した場合
1.の結果はlogger.info('結果')で全て出力したら問題ないかと思いますが、2.の結果はエラーがない場合は出力しません。
python
1from logging import Formatter, handlers, StreamHandler, getLogger, FileHandler,DEBUG 2class browser_operation: 3 4 # ログの準備 5 # loggerを作成 6 def __init__(self): 7 self.logger_info = getLogger(__name__) 8 # loggerに出力ファイルを設定 9 log_file = FileHandler(filename="log.log") 10 # formatterを作成 11 formatter = Formatter('%(asctime)s %(name)s %(funcName)s [%(levelname)s]: %(message)s') 12 log_file.setFormatter(formatter) 13 self.logger_info.addHandler(log_file) 14 # log levelを設定 15 self.logger_info.setLevel(DEBUG) 16
そこで、loggingのマナーと、loggerの作成方法について質問です。
-
getLogger(name)とファイル名でloggerの作成をよく見かけますが、エラーのときは別のフォーマットで出力したい場合のgetLogger()はどうすれば良いのでしょうか?
-
logger.debug('')を表記するの場所はtry,exceptを使ってexceptの中に記入するのでしょうか?どこかに最初に設定して、エラーが出た場合はそのフォーマットで出力するやり方はありませんか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/13 13:04
2020/09/13 13:12