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 socket网络编程步骤详解(socket套接字使用)
Dec 06 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
python使用matplotlib模块绘制多条折线图、散点图
Apr 26 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
用Python配平化学方程式的方法
Jul 20 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
Django中的AutoField字段使用
May 18 Python
Django配置跨域并开发测试接口
Nov 04 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
Jan 05 Python
Python的property属性详细讲解
Apr 11 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 XML操作类DOMDocument
2009/12/16 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
php微信开发之图片回复功能
2018/06/14 PHP
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
Python入门篇之列表和元组
2014/10/17 Python
python使用htmllib分析网页内容的方法
2015/05/08 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
python Django模板的使用方法
2016/01/14 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
Python中拆分字符串的操作方法
2019/07/23 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
《最后的姿势》教学反思
2014/02/27 职场文书
如何写求职信
2014/05/24 职场文书
英语感谢信范文
2015/01/20 职场文书
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers