なんだかGoodVibes

日々の勉強メモです。

【Python】loggingモジュールを使ってロギングする

こんにちは。
本日はPythonメモです。

概要

タイトルの通り。
loggingモジュールを使用して
ログの出力、ファイルへの出力メモです。


サンプルコード

logging.XXX を使用して出力を行う
import logging

logging.debug('DEBUGログです。')
logging.info('INFOログです。')
logging.warning('WARNINGログです。')
logging.error('ERRORログです。')
logging.critical('CRITICALログです。')

出力結果は以下です。
デフォルトのログレベルはWARNINGとなっています。

WARNING:root:WARNINGログです。
ERROR:root:ERRORログです。
CRITICAL:root:CRITICALログです。


logging.log を使用して出力を行う
import logging

logging.log(logging.DEBUG, 'DEBUGログです。')
logging.log(logging.INFO, 'INFOログです。')
logging.log(logging.WARNING, 'WARNINGログです。')
logging.log(logging.ERROR, 'ERRORログです。')
logging.log(logging.CRITICAL, 'CRITICALログです。')

出力結果は以下です。
先程と同様、デフォルトのログレベルはWARNINGとなっています。

WARNING:root:WARNINGログです。
ERROR:root:ERRORログです。
CRITICAL:root:CRITICALログです。


logging.basicConfig を使用してログの設定を調整

logging.basicConfigを使用して、
ログレベルと出力するフォーマットを指定しています。

import logging
logging.basicConfig(
    level=logging.DEBUG,
    format='%(asctime)s [%(levelname)s] %(message)s'
)

logging.log(logging.DEBUG, 'DEBUGログです。')
logging.log(logging.INFO, 'INFOログです。')
logging.log(logging.WARNING, 'WARNINGログです。')
logging.log(logging.ERROR, 'ERRORログです。')
logging.log(logging.CRITICAL, 'CRITICALログです。')

出力結果は以下です。

2023-07-23 15:03:02,615 [DEBUG] DEBUGログです。
2023-07-23 15:03:02,616 [INFO] INFOログです。
2023-07-23 15:03:02,616 [WARNING] WARNINGログです。
2023-07-23 15:03:02,616 [ERROR] ERRORログです。
2023-07-23 15:03:02,616 [CRITICAL] CRITICALログです。


ログをファイルへ出力する
import logging
logging.basicConfig(
    filename='sample.log',
    level=logging.DEBUG,
    format='%(asctime)s [%(levelname)s] %(message)s'
)

logging.log(logging.DEBUG, 'DEBUGログです。')
logging.log(logging.INFO, 'INFOログです。')
logging.log(logging.WARNING, 'WARNINGログです。')
logging.log(logging.ERROR, 'ERRORログです。')
logging.log(logging.CRITICAL, 'CRITICALログです。')

ファイルへの出力結果は以下です。

2023-07-23 15:10:46,534 [DEBUG] DEBUGログです。
2023-07-23 15:10:46,547 [INFO] INFOログです。
2023-07-23 15:10:46,547 [WARNING] WARNINGログです。
2023-07-23 15:10:46,547 [ERROR] ERRORログです。
2023-07-23 15:10:46,547 [CRITICAL] CRITICALログです。



以上です。