今天系统了解了Django的Logging模块,很好很强大,不过中间遇到了一点问题,记录一下
1、logging 同时输出到log和console
#logging注册一定要放在其他log函数前面,做到全局统一,以后其他py文件也可以直接import logging,然后正常打日志,都会和这个格式一样
logging.basicConfig(filename=(os.path.join(settings.BASE_DIR,
"/tmp/ocr_history.log")),
level=logging.INFO,
format= '%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s',
datefmt='%Y-%m-%d %I:%M:%S %p')
logger=logging.getLogger() #这个默认应该是root的logger,汇报logging.info、error等所有的信息都汇总,如果中间加了名字,就不会全局输出,只会输出logger.info,error等
#下面四行就是可以保证logging统计的日志都输出到客户端中
sh = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
sh.setFormatter(formatter)
logger.addHandler(sh)