各局、こんにちは。アマチュア無線局、JS2IIUです。
最近、Pythonのプログラムで遊んでいます。DIYプログラムなので、デバッガも使わず、必要に応じてprint()で確認しながらプログラムしていました。下手くそながらもGithubに上げてみようとした時に、あちこちにprint()が入ったコードを直しながらもちょっと・・・ということでPythonのロギング機能のloggingモジュールを使ってみることにしました。
こんな方に、
- print()をやめてみたい
- ファイルにログを残して、解析したい
- とりあえずloggerを使いたい
Loggingモジュールを使う
以下のサンプルはloggingモジュールを使って、コンソールとファイルにログを出力するものです。25行め、26行目の例を参考に、コードの必要な箇所にloggerを埋め込んでいきます。
ログの出力形式は10行目のFormatterで指定します。指定できる情報についてはこちらのページのLogRecord属性という項目を参照してください。
ファイル出力のファイル名指定は16行目で、この例では./Logディレクトリ以下に日時をファイル名に含んだログファイルが保存されるようになっています。プログラムを走らせるたびに新しいログファイルが作られます。
参考
[Python] ロギングのためにloggerをセットアップする方法 · GitHub
https://gist.github.com/JS2IIU-MH/cb3b776435e9a2752c8c354db80850f1
logging — Python 用ロギング機能 — Python 3.12.0 ドキュメント
https://docs.python.org/ja/3/library/logging.html
最後まで読んでいただき有難うございました。73


コメント