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

作者:2shou 时间:2023-09-29 12:28:13 

网站流量上来后,日志按天甚至小时存储更方便查看和管理,而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

标签:Python
0
投稿

猜你喜欢

  • ASP 改良版MD5、SHA256多重加密类(二次及多次)

    2012-11-30 20:26:47
  • 详解使用webpack构建多页面应用

    2024-04-19 10:03:57
  • python使用jieba实现中文分词去停用词方法示例

    2021-02-04 11:27:17
  • Python Numpy中数组的集合操作详解

    2023-12-04 12:02:24
  • 批量替换sqlserver数据库挂马字段并防范sql注入攻击的代码

    2024-01-28 08:03:47
  • 想用户所想(感受亚马逊的设计)

    2007-08-26 17:09:00
  • python神经网络特征金字塔FPN原理

    2023-12-20 02:21:01
  • Go http请求排队处理实战示例

    2024-05-21 10:26:58
  • Python树莓派学习笔记之UDP传输视频帧操作详解

    2023-04-21 10:03:20
  • python3调用百度翻译API实现实时翻译

    2021-06-21 01:45:46
  • coffeescript使用的方式汇总

    2024-04-18 10:02:56
  • 简单的Python调度器Schedule详解

    2021-09-15 09:49:19
  • 详解Vue3如何加载动态菜单

    2024-04-27 15:56:52
  • 教你如何利用SQL Server保护数据

    2010-06-07 14:18:00
  • python开启多个子进程并行运行的方法

    2022-02-21 12:33:30
  • mysql between实现选取介于两个值之间的数据范围

    2024-01-26 13:28:18
  • Python+OpenCV实战之利用 K-Means 聚类进行色彩量化

    2021-01-02 09:20:27
  • Python3中函数参数传递方式实例详解

    2022-05-22 23:32:20
  • mysql批量插入BulkCopy的实现

    2024-01-28 14:53:12
  • 整理各种js按比例缩放图片方法

    2007-09-27 20:01:00
  • asp之家 网络编程 m.aspxhome.com