今天系统了解了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)

本文详细介绍了Django的Logging模块,探讨了如何配置logging模块同时输出日志到log文件和控制台,确保日志信息的全面性和易用性。通过具体代码示例,展示了如何设置日志级别、格式及时间戳格式,以及如何使用StreamHandler实现日志信息的控制台输出。
3万+





