Python: 使用logging模块替代print
前言
- 前言
- 使用
之前写python经常用print()函数来打印中间信息和变量,如果使用logging可以更明确的输出信息的重要级。
使用直接给出一个最简单的logging替换print的例子:
import logging
logging.basicConfig(format='%(levelname)s:%(funcName)s:%(message)s', level = logging.INFO)
def main():
logging.debug('test debug')
logging.info('test info')
logging.warning('test warn')
main()
logging.basicConfig()
中,format
指定logging输出的格式,level
指定logging输出的级别,只有大于等于该级别的logging才会打印出来。
format
的输出格式如下:
属性 格式 描述
asctime %(asctime)s 日志产生的时间,默认格式为YYYY-MM-DD hh:mm:ss
created %(created)f time.time()生成的日志创建时间戳
funcName %(funcName)s 调用logging的函数名
levelname %(levelname)s 日志级别 ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL')
lineno %(lineno)d 调用logging的行号
module %(module)s 调用logging的模块名
message %(message)s 具体的logging信息
name %(name)s logging调用者