要旨
とりあえずここに書いてあることを真似しておけばOK。
詳細
詳細はまた別の日に記載するとして、ひとまずコードだけを置いておく。個人的には非常に便利に使用しているので、きちんと使用方法やTipsを話をまとめ直したい。
import sys from logging import Logger, Handler, getLogger, StreamHandler, Formatter, DEBUG, INFO, WARN, ERROR logger_name = __name__ logger_level = WARN logger = getLogger(logger_name) logger.setLevel(logger_level) logger.propagate = False handler_loglevel = WARN handler = StreamHandler(sys.stdout) handler.setLevel(handler_loglevel) handler.setFormatter( Formatter('[%(levelname)s] %(message)s')) logger.addHandler(handler)
msg = 'WARNレベルだと、同レベルなので表示される' loglevel = WARN logger.log(loglevel, msg) # => [WARNING] WARNレベルだと、同レベルなので表示される
msg = 'ERRORレベルだと、WARNよりレベルが上なので表示される' loglevel = ERROR logger.log(loglevel, msg) # => [ERROR] ERRORレベルだと、WARNよりレベルが上なので表示される
msg = 'DEBUGレベルだと、WARNよりレベルが下なので表示されない' loglevel = DEBUG logger.log(loglevel, msg) # => (何も表示されない)