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

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

参考stackoverflow上的一个回答,我发现下面的配置能让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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

python 日志框架_按日期打印Python的Tornado框架中的日志的方法相关推荐

  1. python编程基础_月隐学python第2课

    python编程基础_月隐学python第2课 学习目标 掌握变量的输入和输出 掌握数据类型的基本概念 掌握算数运算 1.变量的输入和输出 1.1 变量输入 使用input输入 input用于输入数据 ...

  2. 查看Python的版本_查看当前安装Python的版本

    一.查看Python的版本_查看当前安装Python的版本 具体方法: 首先按[win+r]组合键打开运行: 然后输入cmd,点击[确定]: 最后执行[python --version]命令即可. 特 ...

  3. python后端学什么框架_献给正在学习python的你, 10个最受欢迎的Python开源框架

    很多小伙伴在学习wen的时候说,有没有几个常用的框架,好多小伙伴都只说对了其中几个,只有少部分是说正确的,想要了解更多,欢迎大家订阅微信公众号:Python从程序猿到程序员,或者加4913.08659 ...

  4. python做神经网络有什么框架_神经网络与深度学习——基于TensorFlow框架和Python技术实现...

    目 录 第1章 绪论1 1.1 人工智能2 1.2 机器学习3 1.2.1 监督学习3 1.2.2 非监督学习3 1.2.3 半监督学习4 1.3 深度学习4 1.3.1 卷积神经网络4 1.3.2 ...

  5. python 文件格式转换_数据分析:基于Python的自定义文件格式转换系统

    ( 白宁超 2018年7月16日14:47:41 ) 导读:随着大数据的快速发展,自然语言处理.数据挖掘.机器学习技术应用愈加广泛.针对大数据的预处理工作是一项庞杂.棘手的工作.首先数据采集和存储,尤 ...

  6. python gis库_使用开放的python库自动化GIS和遥感工作流

    python gis库 Over my career I've worked on many geospatial related projects using the ArcGIS platform ...

  7. python内存泄漏_诊断和修复Python中的内存泄漏

    python内存泄漏 Fugue uses Python extensively throughout the Conductor and in our support tools, due to i ...

  8. python输入时间_【转】python 输入一个时间,获取这个时间的下一秒

    输入一个时间,获取这个时间的下一秒 PS:下面代码使用于 python 2.7 time1 = raw_input("输入一个时间[HH:MM:SS]:") time1List = ...

  9. python 数据挖掘 网页_使用Selenium和Python进行网页搜刮!

    使用Selenium和Python进行网页搜刮! 机器学习助长了当今的技术奇迹,例如无人驾驶汽车,太空飞行,图像和语音识别.但是,一位数据科学专业人员将需要大量数据来构建针对此类业务问题的健壮且可靠的 ...

  10. 报考python工程师要求_国家认证的Python技术工程师有什么能力要求?

    的语言Python最近越来越受欢迎,它被越来越多的关注在国家层面.除了参加高考和小学和中学教育,这是之前所讨论的,现在连普通大学生不能逃避Python的邪恶的手.今年,Python已经加入了NCRE( ...

最新文章

  1. c#如何取自身应用程序文件名和路径?
  2. 【6】Zookeeper脚本及API
  3. [小明学算法]3.启发式搜索算法----A*算法之我见
  4. 深度学习用于基于内容的图像检索 Deep Learning for Content-Based Image Retrieval
  5. stm32-USART1重映射
  6. java 返回值void_Java的返回值voidspeak
  7. BizTalk动手实验(十六)EDI-AS2解决文案开发配置
  8. 听腾讯 TEG 大佬谈腾讯万亿级 Elasticsearch 技术解密
  9. win7 启用网络发现
  10. Python实现(百度地图API)地理编码与逆地理编码
  11. 学生成绩管理系统简单c语言源代码,c语言学生成绩管理系统源代码
  12. win7下MyEclipse装Nutch1.7
  13. discards qualifiers —— 丢弃类型
  14. docker操作记录-5
  15. 针对商品标题冗长问题,阿里工程师怎么解决?
  16. 浅谈电子学--台湾新竹交通大学 陈英龙
  17. 浅谈HTTP缓存机制
  18. python批量删缩进_鬼畜小姐姐+野狼disco,十分钟教你如何用Python剪辑一个牛逼的抖音小视频?...
  19. webp文件_什么是WebP文件(以及如何打开一个文件)?
  20. 微信小程序——增删改

热门文章

  1. ACM-经典DP之Monkey and Banana——hdu1069
  2. QSqlTableModel模型使用详解
  3. [xmind] ASP.NET 设计模式 - UX 用户体验
  4. linux发邮件权限,Linux通过命令行发邮件的步骤
  5. php 自定义 base64 解码,php base64 编码与解码实例代码
  6. 斐波那契数列——O(1)算法
  7. Scikit-Learn (浅谈PCA降维算法)
  8. python ** 运算符_Python学习第二天--运算符小结
  9. postgres 显示变量,如何在PostgreSQL查询中声明变量
  10. php内置函数什么语言,语言构造和PHP中的“内置”函数有什么区别?