前提・実現したいこと
例外が発生した際に、tracebackをファイルに保存したいと考えております。
ただ、コンソール出力は実施したくありません。
loggerの設定としては、コンソール出力(StreamHandler)とファイル出力(FileHandler)の両方共を設定しております。
そのため、何もしなければ両方ともにtracebackが表示されてしまいます。
解決方法について、分かる方がいましたらお答えいただけると幸いです。
よろしくお願い致します。
サンプルのソースコード
python
1from logging import getLogger,StreamHandler,FileHandler,Formatter, INFO 2 3logger = getLogger('log') 4logger.setLevel(INFO) 5handler1 = StreamHandler() 6handler1.setFormatter(Formatter("%(asctime)s %(levelname)8s %(message)s")) 7logger.addHandler(handler1) 8handler2 = FileHandler('hoge.txt') 9handler2.setFormatter(Formatter("%(asctime)s %(levelname)8s %(message)s")) 10logger.addHandler(handler2) 11 12def hoge(): 13 logger.info('hogehoge') 14 15def main(): 16 try: 17 hoge() 18 raise Exception('exception!') 19 except Exception as e: 20 logger.exception(e) 21 22if __name__ == '__main__': 23 main()

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/07 23:54