今ツールを作成しています。
ブラウザを操作するクラスがあり、そこでのログ出力をファイルにしたいと思っています。
下記のようなコードを実行すると、ログとターミナルで出力結果が違いました。
ターミナルで出ている方をファイルに出力したいのですが、何故この結果になるのでしょうか?
mian.py
python
1 2# mian.py 3from logging import Formatter, handlers, StreamHandler, getLogger, FileHandler,DEBUG 4def main(): 5 # ブラウザ操作用 6 op = operation.operation() 7 8 # 投稿開始 9 op.mian_auto_post(mail,path) 10 11if __name__ == "__main__": 12 13 main() 14
operation.py
python
1 2# operation.py 3from logging import Formatter, handlers, StreamHandler, getLogger, FileHandler,DEBUG 4class operation: 5 def __init__(self): 6 self.logger = getLogger(__name__) 7 8 # formatterを作成 9 formatter = Formatter('%(asctime)s %(name)s %(funcName)s [%(levelname)s]: %(message)s') 10 11 # handlerを作成しフォーマッターを設定 12 handler = StreamHandler() 13 handler.setFormatter(formatter) 14 # loggerにhandlerを設定、イベント捕捉のためのレベルを設定 15 self.logger.addHandler(handler) 16 # loggerに出力ファイルを設定 17 log_file = FileHandler(filename="log.log") 18 self.logger.addHandler(log_file) 19 # log levelを設定 20 self.logger.setLevel(DEBUG) 21 22 23 def main_auto()(self): 24 self.logger.info('1') 25 self.logger.debug('2')
とすると、
ターミナルでは
2020-09-12 22:37:45,982 browser_operation mian_auto_post [INFO]: 1 2020-09-12 22:37:45,983 browser_operation mian_auto_post [DEBUG]: 2
log.logファイルでは
1 2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。