簡単なプログラムならばロギングする目的で「print()」を使ってコンソールに出力して
エラーの場所を特定してもいいと思いますが、プログラムが長くなってくると
print()はコンソール出力に用で使い
プログラム実行のログは別でロギングした方がすっきりします。
ということで今回はサクッとコピーで使えるpython3コードを紹介します。
import logging
def Logging(message):
log_fmt = '%(asctime)s- %(message)s'
logging.basicConfig(filename='log_file.log', format=log_fmt)
logging.error(message)
Logging("ロギング開始")
Logging("ロギング完了")
こちら実行すると
Logging(“ロギングテスト開始”)
で実行時間とメッセージを「log_file.log」に出力します。
今までprint()しか使っていなかった方もこの機会にロギングしてみましょう。
ロギングできる項目も以下に載せておきます。活用してみて下さい。
| %(name)s | logger名 |
| %(levelno)s | ログレベル番号 |
| %(levelname)s | ログレベル名 |
| %(pathname)s | (利用可能であれば)ソースファイルのフルパス |
| %(filename)s | ソースファイル名 |
| %(module)s | モジュール名 |
| %(lineno)d | (利用可能であれば)行番号 |
| %(funcName)s | 関数、メソッド名 |
| %(created)f | Time when the LogRecord was created (time.time()return value) |
| %(asctime)s | ログレコードが作成された時間のテキスト形式 |
| %(msecs)d | %(asctime)sのミリ秒部分 |
| %(relativeCreated)d | ロギングモジュールがロードされた時間と比較した、LogRecordが作成された時間(ミリ秒単位)(通常はアプリケーションの起動時) |
| %(thread)d | (利用可能であれば)スレッドID |
| %(threadName)s | (利用可能であれば)スレッド名 |
| %(process)d | (利用可能であれば)プロセスID |
| %(message)s | メッセージ |
![[python-auto] 自動化の備忘録ブログ](https://python-auto.com/wp-content/uploads/2019/11/cropped-電球のみ.png)