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标准库内置函数complex介绍
Nov 25 Python
用Python中的wxPython实现最基本的浏览器功能
Apr 14 Python
基于python实现微信模板消息
Dec 21 Python
python3实现ftp服务功能(服务端 For Linux)
Mar 24 Python
详解Python import方法引入模块的实例
Aug 02 Python
Python pyinotify日志监控系统处理日志的方法
Mar 08 Python
python 有效的括号的实现代码示例
Nov 11 Python
python列表返回重复数据的下标
Feb 10 Python
python中有帮助函数吗
Jun 19 Python
python的数学算法函数及公式用法
Nov 18 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 Python
Python游戏开发实例之graphics实现AI五子棋
Nov 01 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
php 数学运算验证码实现代码
2009/10/11 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
php post换行的方法
2020/02/03 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
python微信公众号开发简单流程实现
2020/03/09 Python
django API 中接口的互相调用实例
2020/04/01 Python
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
教师师德教育的自我评价
2013/10/31 职场文书
高中自我评价范文
2014/01/27 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
机关作风建设工作总结
2014/10/23 职场文书
三行辞职书范文
2015/02/26 职场文书
女方离婚起诉书
2015/05/18 职场文书