python+logging+yaml实现日志分割
作者:猪逻辑公园 发布时间:2023-12-18 01:19:08
标签:python,logging,yaml,日志分割
本文实例为大家分享了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、生成的日志文件效果
来源:https://blog.csdn.net/qq_15111861/article/details/82015753


猜你喜欢
- 今天我们看看所有的类!由于工作的上的事有点忙!点图!以后讲解这是我编译好了的类的结构图,我们可以用很多软件可以从原板的DLL看到这些内容!当
- 本文主要分享的是一则python+opencv实现任意角度的透视变换的实例,具体如下:# -*- coding:utf-8 -*-impor
- Transformer模型概述Transformer是一种用于序列到序列学习的神经网络架构,专门用于处理输入和输出序列之间的依赖关系。该模型
- python时间处理月份加减第三方模块 :python-dateutil安装方式:pip install python-dateutil实例
- 背景在做deeplearning过程中,使用caffe的框架,一般使用matlab来处理图片(matlab处理图片相对简单,高效),用pyt
- 汉字转换为UTF-8的一段代码终于找到这段代码了,一个ASP写的中文转UTF-8,大家可以试试function chinese2u
- 前言最近在完成软件体系结构上机实验时,遇到一个有点点小难度的选做题,题目信息如下:利用套接字技术实现应用程序中对数据库的访问。应用程序只是利
- 虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容加密:C:\WIND
- Dreamweaver一直是不少网友钟情的网页设计工具,除了它强大的动态效果制作能力外,方便简洁的操作界面更是独具特色,下面我们将以最新版本
- 有时我们在定义字段名及别名时所用名与oracle关键字同名,这时该如何处理呢? 其实很简单,只要在此关键字加上"",如&
- Random库主要包含返回随机数的函数,主要用于普通的随机数生成的程序,如果对随机性有特殊要求,比如加密等,可以用函数os.urandom(
- 我们可用正规表达式来寻找并替换URL和邮件地址为活动的超级链接。用到的主要函数就是InsertHyperlinks(inText),语法为:
- 环境管理管理 Python 版本和环境的工具p:非常简单的交互式 python 版本管理工具。官网pyenv:简单的 Python 版本管理
- 前面最近,看到不少小伙伴问pytorch如何保存和加载模型,其实这部分pytorch官网介绍的也是很清楚的,感兴趣的点击了解详情🥁🥁🥁但是肯
- 一、 操作数据库(mysql)的工具1.1命令行工具1.2navicat界面化工具1.3phpAdmin界面化工具一般情况下安装phpstu
- 一:什么是数据库,为什么要有数据库?数据,数据库,数据库管理系统和数据库系统是与数据库技术密切相关的四个基本概念。数据库相信大家都耳熟能详了
- 字符x字符 x\\反斜线字符\0n带有八进制值 0 的字符 n (0 <=
- 1.问题出现:在测试阶段,大数据并发的情况下,发现sql语句造成表的死锁,过一段时间,死锁消失。于是进行排查报错如下:对应的sql语句如下:
- 具体错误:UnicodeEncodeError: 'latin-1' codec can't encode char
- 一、前言我想介绍这些功能的主要原因是它们可以帮助您避免编写循环。在某些情况下,循环运行可能会很昂贵,除此之外,这些功能将有助于提高速度。以下