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

1263

被折叠的 条评论
为什么被折叠?



