按日期打印Python的Tornado框架中的日志的方法
網(wǎng)站流量上來后,日志按天甚至小時(shí)存儲(chǔ)更方便查看和管理,而Python的logging模塊也提供了TimedRotatingFileHandler來支持以不同的時(shí)間維度歸檔日志。
然而根據(jù)Logging HOWTO的官方指南設(shè)置后,卻發(fā)現(xiàn)新的日志只剩下root的,Tornado內(nèi)部的logger全部沒有生效。
參考stackoverflow上的一個(gè)回答,我發(fā)現(xiàn)下面的配置能讓Tornado內(nèi)部的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的入口代碼處調(diào)用:
logging.config.dictConfig(yaml.load(open('logging.yaml', 'r')))
- 如果你想按別的時(shí)間維度分割日志,修改when參數(shù)對(duì)應(yīng)的值就可以了。
- 特別注意:當(dāng)when的值是D,表示由服務(wù)器啟動(dòng)的時(shí)間計(jì)起,每過24小時(shí)歸檔一次;而如果你和我一樣,希望在每天的凌晨歸檔日志的話,可以配置為midnight。
- Centos系統(tǒng)可能需要先安裝python-yaml:sudo yum install python-yaml
相關(guān)文章
詳解Python 模擬實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式的實(shí)例
這篇文章主要介紹了詳解Python 模擬實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式的實(shí)例的相關(guān)資料,這里使用了線程知識(shí),隊(duì)列知識(shí)及循環(huán)的知識(shí),需要的朋友可以參考下2017-08-08Python爬蟲之超級(jí)鷹驗(yàn)證碼應(yīng)用
眾所周知python是一個(gè)很強(qiáng)大的語言,它擁有眾多的庫,今天我嘗試了使用超級(jí)鷹第三方平臺(tái)進(jìn)行驗(yàn)證碼的開發(fā),需要的朋友可以參考下2022-08-08用Python編寫生成樹狀結(jié)構(gòu)的文件目錄的腳本的教程
這篇文章主要介紹了用Python編寫生成樹狀結(jié)構(gòu)的文件目錄的腳本的教程,是一個(gè)利用os模塊下各函數(shù)的簡單實(shí)現(xiàn),需要的朋友可以參考下2015-05-05Python的Django框架可適配的各種數(shù)據(jù)庫介紹
這篇文章主要介紹了Python的Django框架可適配的各種數(shù)據(jù)庫,簡單總結(jié)為就是流行的幾種數(shù)據(jù)庫Python基本上全部能用XD 需要的朋友可以參考下2015-07-07Python進(jìn)階學(xué)習(xí)之帶你探尋Python類的鼻祖-元類
這篇文章主要介紹了Python進(jìn)階學(xué)習(xí)之帶你探尋Python類的鼻祖-元類,文中有非常詳細(xì)的解釋,對(duì)正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05Python如何用str.format()批量生成網(wǎng)址(豆瓣讀書為例)
這篇文章主要介紹了Python如何用str.format()批量生成網(wǎng)址(豆瓣讀書為例),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09