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使用calendar输出指定年份全年日历的方法
Apr 04 Python
简单介绍Python2.x版本中的cmp()方法的使用
May 20 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
python中的lambda表达式用法详解
Jun 22 Python
python去掉行尾的换行符方法
Jan 04 Python
利用python微信库itchat实现微信自动回复功能
May 18 Python
Python实现检测文件MD5值的方法示例
Apr 11 Python
pandas 转换成行列表进行读取与Nan处理的方法
Oct 30 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
Oct 15 Python
python request 模块详细介绍
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
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
制作特殊字的脚本
2006/06/26 Javascript
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
用python找出那些被“标记”的照片
2017/04/20 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
python多线程使用方法实例详解
2019/12/30 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
校优秀毕业生主要事迹
2014/05/26 职场文书
经营目标管理责任书
2014/07/25 职场文书
边城读书笔记
2015/06/29 职场文书
2015年科普工作总结
2015/07/23 职场文书
学校远程教育工作总结
2015/08/11 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
基于docker安装zabbix的详细教程
2022/06/05 Servers