|
★ 基本介绍
- logging是Python内置的日志处理模块,用来记录程序的运行状态和故障排除;因为print是同步代码,会影响代码的执行速度,而logging是异步的,可以在多进程爬取中、在协程爬取中使用logging记录调试信息而不会影响到代码的异步执行和运行效率。
复制代码 ★ 日志信息等级
- 日志信息分成五级;从高到低排序为:
- CRITICAL:严重错误
- ERROR: 错误
- WARNING: 警告 (默认级别)
- INFO: 主要信息
- DEBUG: 调试信息
★ 日志输出
- 将日志输出到控制台
- import logging
- # 定义日志输出格式和等级
- logging.basicConfig(level=logging.WARNING,
- format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
- logger = logging.getLogger("日志名")
- logger.debug()
- logger.error()
- ...
复制代码 - 将日志输出到文件
- import logging
- logging.basicConfig(level=logging.WARNING,
- filename='./log.txt',
- filemode='w',
- format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
- logger = logging.getLogger("日志名")
- # use logging
- logger.info('这是 loggging info message')
- logger.debug('这是 loggging debug message')
- logger.warning('这是 loggging a warning message')
- logger.error('这是 an loggging error message')
- logger.critical('这是 loggging critical message')
复制代码 - 将日志输出到控制台同时输出到文件
- import logging
- # 第一步,创建一个logger
- logger = logging.getLogger()
- logger.setLevel(logging.INFO) # Log等级总开关
- # 第二步,创建一个handler,用于写入日志文件
- logfile = './log.txt'
- fh = logging.FileHandler(logfile, mode='a') # open的打开模式这里可以进行参考
- fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关
- # 第三步,再创建一个handler,用于输出到控制台
- ch = logging.StreamHandler()
- ch.setLevel(logging.WARNING) # 输出到console的log等级的开关
- # 第四步,定义handler的输出格式
- formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
- fh.setFormatter(formatter)
- ch.setFormatter(formatter)
- # 第五步,将logger添加到handler里面
- logger.addHandler(fh)
- logger.addHandler(ch)
- # 日志
- logger.debug('这是 logger debug message')
- logger.info('这是 logger info message')
- logger.warning('这是 logger warning message')
- logger.error('这是 logger error message')
- logger.critical('这是 logger critical message')
复制代码
来源:https://www.cnblogs.com/cs-songbai/p/18110617
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|