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实现删除文件中含“指定内容”的行示例
Jun 09 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
Python异常对代码运行性能的影响实例解析
Feb 08 Python
Python基于pycrypto实现的AES加密和解密算法示例
Apr 10 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
Python完全识别验证码自动登录实例详解
Nov 24 Python
python中的线程threading.Thread()使用详解
Dec 17 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
浅谈python处理json和redis hash的坑
Jul 16 Python
使用python批量修改XML文件中图像的depth值
Jul 22 Python
Python os库常用操作代码汇总
Nov 03 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下实现伪 url 的超简单方法[转]
2007/09/24 PHP
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
通过JS来动态的修改url,实现对url的增删查改
2014/09/01 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
vuejs如何配置less
2017/04/25 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
Python调用命令行进度条的方法
2015/05/05 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
do you have any Best Practice for testing
2016/06/04 面试题
实习教师自我鉴定
2013/12/09 职场文书
学习十八大报告感言
2014/02/04 职场文书
优秀员工评语
2014/02/10 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
客房服务员岗位职责
2015/02/09 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python