按日期打印Python的Tornado框架中的日志的方法
作者:2shou 发布时间:2023-09-29 12:28:13
标签:Python
网站流量上来后,日志按天甚至小时存储更方便查看和管理,而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
0
投稿
猜你喜欢
- 1、需求当工作在UNIX Shell下时,我们想使用常见的通配符模式(即:.py,Dat[0-9].csv等)来对文本做匹配。2、解决方案f
- conn.execute、rs.open之间的差别,conn.execute、rs.open、command.execute方法用法大大不同
- 功能:间隔5毫秒,快速点击屏幕某区域,循环45000000次from ctypes import *import timetime.slee
- 一些大型站点都有着非常一流的视觉外观,它们很可能在设计时使用了网格系统。网格可以是页面布局显得紧凑而且稳定,为设计师在设计站点时提供一个逻辑
- 本文实例讲述了Python 异常的捕获、异常的传递与主动抛出异常操作。分享给大家供大家参考,具体如下:异常的捕获demo.py(异常的捕获)
- PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开
- 1. 递归1.1 定义函数作为一种代码封装, 可以被其他程序调用,当然,也可以被函数内部代码调用。这种函数定义中调用函数自身的方式称为递归。
- 主要是运用java.util.regex类。 import java.util.regex.Matcher;import java
- 很多jsp程序员都遇到过这样的情况,jsp页面传递参数到servlet,只要参数有中文就是乱码,且大多数是??????乱码,尝试了网上比较普
- 递归查询对于同一个表父子关系的计算提供了很大的方便,这个示例使用了SQL server 2005中的递归查询,使用的表是CarParts,这
- 5. 其他杂项 5.1 生成图像PHP可以操作处理图像。如果你已经安装了GD库,你甚至可以利用PHP生成图像。
- 代码如下:--执行顺序 From Where Select select * from (select sal as salary,comm
- XML文档因为其固有的描述性特性而趋向于变得很罗嗦。其结果是文档会由于被描述的数据增多而变得很长,而这种很大的文档会在需要同其他实体进行交换
- 当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度。笔者做了一个简单的尝试,1亿条数据,分100张表。具体实现过程如下。首先
- 目录时间戳相减装饰器timeit模块重复调用 timeit()cProfile性能分析工具时间戳相减在代码执行前后各记录一个时间点,两个时间
- 本文实例为大家分享了python实现库存商品管理系统的具体代码,供大家参考,具体内容如下题目要求:请设计一个商品管理系统,程序要求根据用户输
- FileSystemObject、Folder 和 File 对象的一些方法都与通过 TextStream 对象创建、读取或写入文件有关。虽
- 直接上代码图片就使用我家爽妹子的吧如果没有安装pil模块的话先cmd安装下输入:pip install pillow# -*- coding
- 在网站开发的时候经常要用chr(),但本人比较懒没时间记那么多。于是到用到的时候就查,这样麻烦。现在将它写出来方便以后用到查,也方便大家!c
- 两个文章,放在一块了。第二个比较强。====================================================