この記事は 2021 年 12 月 02 日に投稿しました。
目次
1. はじめに
こんにちは、iOS のエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用している Pythonで例外時にスタックトレースをファイルに保存する方法についてです。
2. Python で例外時にスタックトレースをファイルに保存する
Pythonで例外時にスタックトレースをファイルに保存するにはtracebackモジュールのprint_excメソッドを使用し、以下の様な実装にします。
実装例
import traceback try: # 例外をスローします。 raise NameError("Name error occured.") except: # スタックトレースをファイルに保存します。 with open("stacktrace.txt", 'a') as file: traceback.print_exc(file=file)
実行結果
※stacktrace.txt の中身
Traceback (most recent call last): File "<ipython-input-1-aaf89cfb5608>", line 3, in <module> raise NameError("Name error occured.") NameError: Name error occured.
リファレンス
Python.jp プログラミング言語 Python 情報サイト
Colaboratory(オンライン Python 実行環境)
tracebackモジュール
print_excメソッド
3. おわりに
前回
はスタックトレースを画面に表示しましたが、今回はファイルに保存しました。
スタックトレースをファイルに保存するのは簡単な仕組みが用意されているようです。
紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッド OS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOS モバイルアプリやウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688