Pythonでのログ出力は標準で用意されているライブラリloggingを使うことで行なえます。
日付名称のファイルへのログ出力
import logging
import time
logging.basicConfig(filename=time.strftime('%Y%m%d.log'), encoding='utf-8',
format='[%(asctime)s][%(levelname)s]%(message)s',
datefmt='%Y/%m/%d %H:%M:%S',
level=logging.DEBUG)
logging.debug('デバッグログ')
logging.info('情報ログ')
logging.warning('警告ログ')
logging.error('エラーログ')
[2021/08/20 23:36:27][DEBUG]デバッグログ
[2021/08/20 23:36:27][INFO]情報ログ
[2021/08/20 23:36:27][WARNING]警告ログ
[2021/08/20 23:36:27][ERROR]エラーログ
警告以上のログをファイルに、全てのログをコンソールに出力。
import logging
import time
logger = logging.getLogger('LoggerName')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler(time.strftime('%Y%m%d.log'),encoding='utf-8')
fh.setLevel(logging.WARN)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('[%(asctime)s][%(levelname)s]%(message)s', datefmt='%Y/%m/%d %H:%M:%S')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
logger.debug('デバッグログ')
logger.info('情報ログ')
logger.warning('警告ログ')
logger.error('エラーログ')
20210820.log
[2021/08/20 23:36:27][WARNING]警告ログ
[2021/08/20 23:36:27][ERROR]エラーログ
コンソール
[2021/08/20 23:36:27][DEBUG]デバッグログ
[2021/08/20 23:36:27][INFO]情報ログ
[2021/08/20 23:36:27][WARNING]警告ログ
[2021/08/20 23:36:27][ERROR]エラーログ
第2引数以降で指定した変数をログ出力できる。
extra
で指定した辞書の値はフォーマットで参照できる。
logger = logging.getLogger('LoggerSample')
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('[%(asctime)s][%(levelname)s][%(string)s][%(number)s]%(message)s', datefmt='%Y/%m/%d %H:%M:%S')
ch.setFormatter(formatter)
logger.addHandler(ch)
d = {'string':'AAA', 'number':777 }
logger.debug('ログテスト %s %s','Test',123,extra=d)
[2021/08/20 23:42:16][DEBUG][AAA][777]ログテスト Test 123
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント