欢迎来到山村网

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

2019-03-02 12:15:29浏览:144 来源:山村网   
核心摘要:  这篇文章主要介绍了按日期打印Python的Tornado框架中的日志的方法,需要的朋友可以参考下  网站流量上来后,日志按天甚至小

  这篇文章主要介绍了按日期打印Python的Tornado框架中的日志的方法,需要的朋友可以参考下

  网站流量上来后,日志按天甚至小时存储更方便查看和管理,而Python的logging模块也提供了TimedRotatingFileHandler来支持以不同的时间维度归档日志。

  然而根据Logging HOWTO的官方指南设置后,却发现新的日志只剩下root的,Tornado内部的logger全部没有生效。

  参考stackoverflow上的一个回答,我发现下面的配置能让Tornado内部的logger也用上TimedRotatingFileHandler:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 # logging.yaml version: 1 disable_existing_loggers: false formatters: simple: format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s' loggers: all: handlers: [all] propagate: false tornado: handlers: [all] propagate: false handlers: console: class: logging.StreamHandler level: INFO formatter: simple stream: ext://sys.stdout all: class: logging.handlers.TimedRotatingFileHandler level: INFO formatter: simple when: midnight filename: ./logs/server.log root: level: INFO handlers: [console, all] propagate: true

  只需在Tornado的入口代码处调用:

  ?

1 logging.config.dictConfig(yaml.load(open('logging.yaml', 'r')))

  如果你想按别的时间维度分割日志,修改when参数对应的值就可以了。

  特别注意:当when的值是D,表示由服务器启动的时间计起,每过24小时归档一次;而如果你和我一样,希望在每天的凌晨归档日志的话,可以配置为midnight。

  Centos系统可能需要先安装python-yaml:sudo yum install python-yaml

(责任编辑:豆豆)
下一篇:

解读Python的web.py框架下的application.py模块

上一篇:

Python编程中运用闭包时所需要注意的一些地方

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com