当我们编写Python脚本时,经常需要记录程序的运行日志,用来追踪程序的执行过程,排除问题和调试程序。以下是记录Python脚本的运行日志的方法的完整攻略,具体包含以下几个部分:
第一步:引入日志模块
Python自带了一个logging模块用来记录日志。因此,我们需要先导入logging模块,并设置日志输出级别,一般情况下,我们推荐使用DEBUG、INFO、WARNING、ERROR、CRITICAL这五个级别。
import logging
logging.basicConfig(level=logging.DEBUG)
第二步:定义日志记录格式
当我们记录日志时,需要给用户提供一些简洁的信息,比如时间、文件名、函数名、日志内容等等。我们可以通过logging模块中的Formatter来自定义日志记录格式。
formatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
第三步:创建日志记录器
创建一个记录器之后我们就可以开始记录日志了。我们可以使用logger模块中的getLogger()方法来创建记录器并指定日志名称。
logger = logging.getLogger("example001")
第四步:设置日志处理程序
除了使用basicConfig()来设置输出级别,我们还可以使用addHandler()向记录器中添加不同的处理程序,比如将日志输出到屏幕或者文件中。
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
示例一:将日志输出到文件中
import logging
logging.basicConfig(level=logging.DEBUG, filename='example.log', filemode='w', format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
logger = logging.getLogger('example002')
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
logger.addHandler(console_handler)
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
示例二:将日志输出到屏幕中
import logging
formatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
logger = logging.getLogger('example003')
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
以上就是记录Python脚本的运行日志的方法的完整攻略,示例代码中分别演示了如何将日志输出到文件和屏幕中。需要注意的是,日志记录器以及处理程序都是在代码中只创建一次,所以在记录之前需要先进行初始化。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:记录Python脚本的运行日志的方法 - Python技术站