pythonにlogログを追加する3つの出力方式の書き方
サマリ logログは一般的に便利で、一般的には2つ目を使えばいいです. 詳しく理解するには、3つ目の書き方をよく読むことをお勧めします. logログの主な役割は以下の2点である.エラーチェックと分析2.logログ分析を行い,ユーザ画像を行う.
コード1:コンソールにlogログを出力する
コード2:ファイルにlogログを書き込む
コード3:コンソールとファイルにlogログをそれぞれ出力
コード1:コンソールにlogログを出力する
import logging
logging.basicConfig(level=logging.WARNING,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
# log
logging.info(' loggging info message')
logging.debug(' loggging debug message')
logging.warning(' loggging a warning message')
logging.error(' an loggging error message')
logging.critical(' loggging critical message')
コード2:ファイルにlogログを書き込む
import logging
logging.basicConfig(level=logging.WARNING,
filename='./log.txt',
filemode='w',
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
# use logging
logging.info(' loggging info message')
logging.debug(' loggging debug message')
logging.warning(' loggging a warning message')
logging.error(' an loggging error message')
logging.critical(' loggging critical message')
コード3:コンソールとファイルにlogログをそれぞれ出力
import logging
# , logger
logger = logging.getLogger()
logger.setLevel(logging.INFO) # Log INFO
# , handler,
logfile = './log.txt'
fh = logging.FileHandler(logfile, mode='a') # open
fh.setLevel(logging.DEBUG) # file log
# , handler,
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING) # console log
# , handler ( , , , , )
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# , logger handler
logger.addHandler(fh)
logger.addHandler(ch)
#
logger.debug(' logger debug message')
logger.info(' logger info message')
logger.warning(' logger warning message')
logger.error(' logger error message')
logger.critical(' logger critical message')
#
# DEBUG: ,
# INFO:
# WARNING( ): , , ( 。 ”)。 。
# ERROR: ,
# CRITICAL: ,