优草派  >   Python

按日期打印Python的Tornado框架中的日志的方法

吴雅婷            来源:优草派

Python的Tornado框架是一个高效、轻量级的Web框架,其出色的性能在处理高并发请求中表现尤为突出。在开发过程中,我们通常需要记录Tornado应用程序的日志。本文将介绍如何以日期为标准来打印Python的Tornado框架中的日志。

按日期打印Python的Tornado框架中的日志的方法

使用Python Tornado框架记录日志

在Python的Tornado框架中,我们可以使用内置的logging模块来记录程序的日志信息。该模块支持多个日志处理程序,包括将日志记录写入文件、发送到邮件和将它们发送到远程服务器。

例如,要在框架中显式记录日志消息,可以使用以下代码:

import logging

logger = logging.getLogger(__name__)

def main():

logger.debug('Debug message from main function')

logger.info('Info message from main function')

logger.warning('Warning message from main function')

logger.error('Error message from main function')

logger.critical('Critical message from main function')

if __name__ == '__main__':

main()

将整个Python模块部署到服务器上或运行Python应用程序后,可以看到框架的输出信息已记录在框架默认的日志文件中。

按日期打印Python Tornado框架中的日志

默认情况下,Tornado将日志写入根目录下的日志文件中,如果未指定文件名,则会使用tornado.log。在实际情况中,为了了解系统的运行情况以及故障诊断,必须要有备案的日志记录,因此,在创建应用程序时,我们经常会将日志文件用日期命名的方式分割。

使用Python中的TimedRotatingFileHandler类和logging模块,您可以按照日期将日志记录在不同的文件中。以下代码显示如何在Tornado Web框架应用程序中使用此类。假设我们要按天创建日志文件,代码如下:

import logging

import logging.handlers

logger = logging.getLogger(__name__)

rh = logging.handlers.TimedRotatingFileHandler('log/tornado.log', when='D', interval=1, backupCount=30)

formatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s')

rh.setFormatter(formatter)

logger.addHandler(rh)

logger.setLevel(logging.DEBUG)

在以上代码中,'log/tornado.log'表示日志文件的名称及其路径。'when'参数指定日志文件的创建时间间隔,'interval'参数指定时间间隔的数值,'backupCount'参数指定日志文件的最大备份个数。

关键词:按日期打印,Python,Tornado,日志,TimedRotatingFileHandler

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行