Startup Data scientist Blog

データ分析系のテック情報を発信します

pythonでログを出力する

ログレベル

・DEBUG: logging.debug()

詳細情報、問題解析用

 

・INFO: logging.info()

各種イベント情報

 

・WARNING: logging.warning()

問題の報告

 

・ERROR: logging.error()

プログラムの何かしらの動作が失敗

 

・CRITICAL: logging.critical()

プログラム実行を中止する致命的なエラーの発生

 

 

loggingプログラム例:

from random import randint
import logging
logging.basicConfig(level=logging.DEBUG, format=" %(asctime)s - %(asctime)s -
%(levelname)s - %(message)s")

def main():
    counter = 0
    while counter < 10:
        number = randint(1, 13)
        print("{0}回目は{1}。".format(counter+1, number))
        logging.debug("counter={0}, numebr={1}".format(counter, number))
        counter += 1
       
    if __name__ == '__main__':
        logging.debug("Program start")
        main()
        logging.debug("Program end")

>>>

ログが表示されます。

 

ファイルに出力する場合のコード

from random import randint
import logging
 
#filename = 'use_loggingLog.txtを追加'
logging.basicConfig(filename ='use_loggiingLog.txt', level=logging.DEBUG,
format=" %(asctime)s - %(asctime)s - %(levelname)s - %(message)s")

def main():
    counter = 0
    while counter < 10:
        number = randint(1, 13)
        print("{0}回目は{1}。".format(counter+1, number))
        logging.debug("counter={0}, numebr={1}".format(counter, number))
        counter += 1
       
    if __name__ == '__main__':
        logging.debug("Program start")
        main()
        logging.debug("Program end")

 

 

おまけ

AttributeError: partially initialized module 'logging' has no attribute 'basicConfig' (most likely due to a circular import)とエラーが表示された。

 

ファイル名がlogging.pyであったため表示されたエラーであった。

モジュール内でloggingがつかわれているので使わない方が良い。