(目的)
とりあえずprintコメントアウトを卒業する
■各ファイル冒頭に以下記述
import logging
logger = logging.getLogger(__name__)
これでloggingが設定される
この2行を冒頭に書くのは意味わからなくても完コピまねでOK。後でわかれば良い
■print(xxxx)と書いていたところに書くもの
logger.debug(xxx)
logger.error(xxx)
など。
※ログのレベルは低いものから次の5段階
DEBUG
INFO
WARNING
ERROR
CRITICAL
初心者的には、本番機で表示したくないものは全部
logger.debug(・・・)にするのと覚えるのが良いかも。
■何がおいしいのか?
以下、pythonのlogging出力例
====
2026-06-16 16:54:48,129 [DEBUG] module_a: module_a.py is loaded
2026-06-16 16:54:48,133 [DEBUG] module_b.py: module_b.py is loaded
2026-06-16 16:54:48,136 [DEBUG] django.views: ろぐれべる デバッグ
2026-06-16 16:54:48,136 [ERROR] django.views: ろぐれべる エラー
2026-06-16 16:54:48,136 [INFO] django.views: ろぐれべる いんふぉ
=====
・これの1行目をprintでやろうとするとだいたいこんな感じ(だいたいです)
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S")+","+str(int(now.microsecond / 1000))+" [DEBUG] "+"module_a: module_a.py is loaded")
・loggingだとこれだけです。。
logger.debug("module_a.py is loaded")
手作業で出力の発生源のモジュール名やタイムスタンプを、
自分の.pyファイルに大量に書く作業が全部なくなります
・本番環境でprintをコメント化して、開発環境ではまたコメント解除して、という作業もなくなります。
作成日: 2026年6月16日17:08
更新日: 2026年6月16日17:23