今天维护一个Python写的拉取mysql数据库数据到hive数据仓库的脚本。发现里边的日志竟然都是print出来的,调试起来很吃力所以在这个工具中加入logging输出日志,方便生产故障的跟踪和解决。
import logging
#创建一个logger
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
#创建一个filehandler 输出日志到一个文件中,级别为debug以上
#filehandler = logging.StreamHandler('test.log')
#filehandler.setLevel(logging.DEBUG)
#创建一个control handler 输出日志到控制台,级别为debug以上
handler = logging.StreamHandler()
handler.setLevel(logging.DEBUG)
#定义handler输出格式
formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
#打印日志
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
在记录日志后移除handler
logger.removeHandler(handler)
网友评论