按日期打印Python的Tornado框架中的日志的方法
程序员文章站
2022-04-18 20:38:34
网站流量上来后,日志按天甚至小时存储更方便查看和管理,而Python的logging模块也提供了来支持以不同的时间维度归档日志。
然而根据的官方指南设置后,却发现新的日志...
网站流量上来后,日志按天甚至小时存储更方便查看和管理,而Python的logging模块也提供了来支持以不同的时间维度归档日志。
然而根据的官方指南设置后,却发现新的日志只剩下root的,Tornado内部的logger全部没有生效。
参考*上的一个回答,我发现下面的配置能让Tornado内部的logger也用上TimedRotatingFileHandler:
# 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的入口代码处调用:
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框架中url的设定方法
-
深入解析Python的Tornado框架中内置的模板引擎
-
为Python的Tornado框架配置使用Jinja2模板引擎的方法
-
Python中Django框架利用url来控制登录的方法
-
详解Python的Django框架中Manager方法的使用
-
详解在Python的Django框架中创建模板库的方法
-
Python的Django框架中从url中捕捉文本的方法
-
剖析Python的Tornado框架中session支持的实现代码
-
Python的Django框架中设置日期和字段可选的方法
-
在Python的Flask框架中验证注册用户的Email的方法