python+logging+yaml实现日志分割


Posted in Python onJuly 22, 2019

本文实例为大家分享了python+logging+yaml实现日志分割的具体代码,供大家参考,具体内容如下

1、建立log.yaml文件

version: 1
disable_existing_loggers: False
formatters:
 simple:
  format: "%(asctime)s - %(filename)s - %(levelname)s - %(message)s"
  datefmt: '%F %T'
 
handlers:
 console:
  class: logging.StreamHandler
  level: DEBUG
  formatter: simple
  stream: ext://sys.stdout
 info_file_handler:
  class: logging.handlers.TimedRotatingFileHandler
  level: DEBUG
  formatter: simple
  filename: ./mylog/log.log #这个路径根据自己的日志存放路径填写
  interval: 1
  backupCount: 2 #most 2 extensions
  encoding: utf8
  when: H #这里是按小时生成
root:
 level: INFO
 handlers: [console, info_file_handler]

2、在自己的app.py中引用log.yaml

import yaml
import logging.config
import os
 
def setup_logging(default_path='log.yaml', default_level=logging.INFO):
 """
 Setup logging configuration
 """
 if os.path.exists("mylog"):
  pass
 else:
  os.mkdir('mylog')
 path = default_path
 if os.path.exists(path):
  with open(path, 'rt') as f:
   config = yaml.load(f.read())
  logging.config.dictConfig(config)
 else:
  logging.basicConfig(level=default_level)
  print('the input path doesn\'t exist')
setup_logging(default_path='./log.yaml')
logger = logging.getLogger()

之后就可以在需要日志的业务节点上使用logger.info或者其他级别输出日志信息

3、生成的日志文件效果

python+logging+yaml实现日志分割

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 Python
在Python中增加和插入元素的示例
Nov 01 Python
python实现汽车管理系统
Nov 30 Python
Python第三方库h5py_读取mat文件并显示值的方法
Feb 08 Python
Django中URL的参数传递的实现
Aug 04 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
Sep 04 Python
python 实现dict转json并保存文件
Dec 05 Python
python多线程使用方法实例详解
Dec 30 Python
在Matplotlib图中插入LaTex公式实例
Apr 17 Python
解决pytorch 保存模型遇到的问题
Mar 03 Python
用Python远程登陆服务器的步骤
Apr 16 Python
Django使用channels + websocket打造在线聊天室
May 20 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 #Python
python Gunicorn服务器使用方法详解
Jul 22 #Python
python实现按行分割文件
Jul 22 #Python
python UDP(udp)协议发送和接收的实例
Jul 22 #Python
linux环境下Django的安装配置详解
Jul 22 #Python
python判断一个对象是否可迭代的例子
Jul 22 #Python
树莓派使用python-librtmp实现rtmp推流h264的方法
Jul 22 #Python
You might like
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
[01:32]TI奖金增速竟因它再创新高!DOTA2勇士令状不朽珍藏Ⅰ饰品欣赏
2018/05/18 DOTA
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
Python 时间处理datetime实例
2008/09/06 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
Sanic框架路由用法实例分析
2018/07/16 Python
详解Python3中ceil()函数用法
2019/02/19 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
什么是设计模式
2012/06/17 面试题
卫校中专生个人自我评价
2013/09/19 职场文书
市场开发与营销专业求职信
2013/12/31 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
校园文化建设方案
2014/02/03 职场文书
趣味运动会广播稿
2014/09/13 职场文书
2015年班干部工作总结
2015/04/29 职场文书
如何写好开幕词?
2019/06/24 职场文书
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript