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实现删除文件与目录的方法
Nov 10 Python
python中循环语句while用法实例
May 16 Python
Python中pygame的mouse鼠标事件用法实例
Nov 11 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
Django使用详解:ORM 的反向查找(related_name)
May 30 Python
通过python将大量文件按修改时间分类的方法
Oct 17 Python
Python安装Flask环境及简单应用示例
May 03 Python
在Django model中设置多个字段联合唯一约束的实例
Jul 17 Python
python定时任务 sched模块用法实例
Nov 04 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
Nov 11 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
Feb 26 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做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
实现Python与STM32通信方式
2019/12/18 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
推荐10个HTML5响应式框架
2016/02/25 HTML / CSS
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
项目开发计划书
2014/01/09 职场文书
建筑工地宣传标语
2014/06/18 职场文书
法制宣传标语
2014/06/23 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书