python logger日志级别_Python logger日志

本文介绍了Python的日志级别,包括DEBUG、INFO、WARNING、ERROR和CRITICAL,并阐述了日志等级的高低顺序。此外,文章提供了两种修改airtest日志级别的方法,一种是直接修改源码,另一种是在代码中设置。还展示了如何创建一个带有文件和控制台输出的根日志,以及日志格式的定制方式。

1.日志级别有哪些?

日志等级

描述

DEBUG

最详细的日志信息,典型应用场景是 问题诊断

INFO

信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作

WARNING

当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的

ERROR

由于一个更严重的问题导致某些功能不能正常运行时记录的信息

CRITICAL

当发生严重错误,导致应用程序不能继续运行时记录的信息

上面列表中的日志等级是从上到下依次升高的,即:DEBUG < INFO < WARNING < ERROR < CRITICAL,而日志的信息量是依次减少的(比如设置了INFO级别,则日志中只能看到INFO级别之后的所有级别日志,看不到DEBUG级别的日志);

2.如何修改airtest日志级别?

方法1:最简单粗暴的方法是把\airtest\utils\logger.py文件中     logger.setLevel(logging.DEBUG)的DEBUG修改为对应级别。

方法:2:不修改源码,在自己的运行代码最开始部分加入如下代码即可:

logger=get_logger("airtest")

logger.setLevel(logging.WARN) #airtest日志级别

获取airtest根日志的对象,然后进行setLevel,这里的WARN可以根据需要修改。如:DEBUG、INFO、WARN、ERROR、CRITICAL

3.重新创建一个根日志

def get_logger(name):

logger = logging.getLogger(name)

logger.setLevel(logging.INFO)

# 日志存放路径

# log_floder = os.path.abspath(os.path.join(os.path.dirname(os.path.dirname(__file__)))) + '\\test_logs\\'

log_floder = os.path.abspath("..") + '\\test_logs\\'

current_time = time.strftime('%Y%m%d', time.localtime((time.time())))

log_path = log_floder + 'Tlog' + current_time + '.txt'

# 创建一个handler,用于写入日志文件

fh = logging.handlers.RotatingFileHandler(log_path, maxBytes=1024 * 1024, backupCount=5, encoding='utf-8')

fh.setLevel(logging.INFO)

# 创建一个handler,用于输出到控制台

ch = logging.StreamHandler()

ch.setLevel(logging.INFO)

# 时间-模块.函数名.行数-日志级别-信息

formatter_str = '%(asctime)s - %(module)s.%(funcName)s.%(lineno)d - %(levelname)s - %(message)s'

# 定义handler的输出格式

formatter = logging.Formatter(formatter_str)

fh.setFormatter(formatter)

ch.setFormatter(formatter)

# 给logger添加handler

logger.addHandler(fh)

logger.addHandler(ch)

return logger

logger = logger.get_logger("1111")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值