仅剩的如果 发表于 2024-4-3 03:01:01

logging日志

★ 基本介绍

logging是Python内置的日志处理模块,用来记录程序的运行状态和故障排除;因为print是同步代码,会影响代码的执行速度,而logging是异步的,可以在多进程爬取中、在协程爬取中使用logging记录调试信息而不会影响到代码的异步执行和运行效率。★ 日志信息等级


[*]日志信息分成五级;从高到低排序为:

[*]CRITICAL:严重错误
[*]ERROR: 错误
[*]WARNING: 警告(默认级别)
[*]INFO: 主要信息
[*]DEBUG: 调试信息

★ 日志输出


[*]将日志输出到控制台

import logging

# 定义日志输出格式和等级
logging.basicConfig(level=logging.WARNING,
                  format='%(asctime)s - %(filename)s - %(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 - %(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 - %(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】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: logging日志