matobaの備忘録

育児しながら働くあるエンジニアの記録

Pythonのロギングについて。Loggerを取得する方法

手元の技術メモをインターネットに放出する。 今回はPythonのロギング。

loggerを取得したい時

こうやる

import logging
logger = logging.getLogger(__name__)

Pythonには、loggingというロギングのライブラリが付属している。これは標準ライブラリなので、普通はこれを使う。

docs.python.org

なお、 getLoggerの引数は、ロガーの名前となる。 普通は getLogger(__name__) とする。

__name__ は、Pythonではモジュール名を表す。

docs.python.org

getLoggerに指定する値は、階層的な名前で識別されるので、基本的にはモジュール名が自動で入るようにしておくほうが管理しやすい。

logging --- Python 用ロギング機能 — Python 3.12.1 ドキュメント

INFOやDEBUGログを標準出力に出したい

以下のようにすれば出る。

import logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)

Pythonのloggingのデフォルトのログレベルは、WARNINGである。なので、INFOやDEBUGはデフォルトでは出ない。 出したいならログレベルを下げる必要がある。