簡単なプログラムならばロギングする目的で「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 | メッセージ |