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 相关文章推荐
Web服务器框架 Tornado简介
Jul 16 Python
python下MySQLdb用法实例分析
Jun 08 Python
Python多线程爬虫简单示例
Mar 04 Python
Python Requests 基础入门
Apr 07 Python
python 连接sqlite及简单操作
Jun 30 Python
python实现手机通讯录搜索功能
Feb 22 Python
python opencv实现旋转矩形框裁减功能
Jul 25 Python
详解Python3除法之真除法、截断除法和下取整对比
May 23 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
利用Python如何实时检测自身内存占用
May 09 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
Nov 10 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
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
2015/04/03 Javascript
JavaScript中的this机制
2016/01/30 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
js实现拖拽功能
2017/03/01 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
用python实现对比两张图片的不同
2018/02/05 Python
Python数据库小程序源代码
2019/09/15 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
python实现逻辑回归的示例
2020/10/09 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
Lookfantastic澳大利亚官网:英国知名美妆购物网站
2021/01/07 全球购物
如何利用find命令查找文件
2015/02/07 面试题
大专生自我鉴定范文
2013/10/01 职场文书
董事长岗位职责
2013/11/30 职场文书
我的求职择业计划书
2014/04/04 职场文书
学生评语大全
2014/04/18 职场文书
面试通知单大全
2015/04/20 职场文书