python调试之 loging 模块

python loging 模块:

import logging
logging.basicConfig(level = logging.INFO,format = '%(levelname)s - %(message)s')
logging.info("Start print log")
logging.debug("Do something")
logging.warning("Something maybe fail.")
logging.info("Finish")

结果:

INFO - Start print log
WARNING - Something maybe fail.
INFO - Finish

可以使用 FileHandler 把记录写进文件中:

import logging

# 获取logger实例,如果参数为空则返回root 
logger = logging.getLogger("AppName")

# 指定logger输出格式
formatter = logging.Formatter('%(asctime)s %(levelname)-8s: %(message)s')

# 文件日志
file_handler = logging.FileHandler("test.log")
file_handler.setFormatter(formatter)  # 可以通过setFormatter指定输出格式

# 控制台日志
console_handler = logging.StreamHandler()
console_handler.formatter = formatter  # 也可以直接给formatter赋值

# 为logger添加的日志处理器
logger.addHandler(file_handler)
logger.addHandler(console_handler)

# 指定日志的最低输出级别,默认为WARN级别
logger.setLevel(logging.INFO)

# 输出不同级别的log
logger.debug('this is debug info')
logger.info('this is information')
logger.warn('this is warning message')
logger.error('this is error message')
logger.fatal('this is fatal message, it is same as logger.critical')
logger.critical('this is critical message')

显示

2018-07-31 13:08:08,052 INFO: this is information
2018-07-31 13:08:08,054 WARNING: this is warning message
2018-07-31 13:08:08,055 ERROR: this is error message
2018-07-31 13:08:08,059 CRITICAL: this is fatal message, it is same as logger.critical
2018-07-31 13:08:08,060 CRITICAL: this is critical message

052为毫秒。

猜你喜欢

转载自blog.csdn.net/leifei2012/article/details/81663905