当前位置: 首页 > news >正文

python logging模块实现日期分割_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、生成的日志文件效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章:

  • 安卓图标_不开玩笑,安卓可以体验 quot;Windows 10quot; 了
  • 各大IT公司名字的由来
  • html弄多个按钮_前端基础入门第二阶段-HTML5基础+HTML语义化
  • 一个让98%的Java程序员犯难的偏门问题!
  • 没有安装python的电脑能运行python程序吗_电脑没有安装python运行它的文件
  • 首例“【全额】保证金”项目出现在CSDN外包频道——CSDN外包实践(56)
  • keil printf打印浮点_SEGGER_RTT打印调试
  • 品德+创意+执行力=企业的不断壮大
  • python解析库 爬虫_python 爬虫(二)- 解析库 的简单使用
  • 做市场的同僚应该留意的16个字
  • 威联通_[Zheli体验] 威联通入门折腾小记
  • python随机生成50个整数奇数位降序_15个经典函数公式,易学易用,收藏备用
  • Web2.0为互联网行业带来的又一次变革
  • 和画意思相近的字_王雪涛:画花鸟,这几条要切记!(附高清绝美花鸟60幅)...
  • Windows live服务终于来了!
  • 【React系列】如何构建React应用程序
  • Docker: 容器互访的三种方式
  • Docker容器管理
  • Java比较器对数组,集合排序
  • Java面向对象及其三大特征
  • jdbc就是这么简单
  • JS函数式编程 数组部分风格 ES6版
  • nginx 配置多 域名 + 多 https
  • React+TypeScript入门
  • ReactNativeweexDeviceOne对比
  • v-if和v-for连用出现的问题
  • 小而合理的前端理论:rscss和rsjs
  • 学习笔记TF060:图像语音结合,看图说话
  • 正则表达式小结
  • Hibernate主键生成策略及选择
  • 选择阿里云数据库HBase版十大理由
  • ​iOS安全加固方法及实现
  • #### go map 底层结构 ####
  • #LLM入门|Prompt#3.3_存储_Memory
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (1)常见O(n^2)排序算法解析
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (十) 初识 Docker file
  • (转)用.Net的File控件上传文件的解决方案
  • .axf 转化 .bin文件 的方法
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net FrameWork简介,数组,枚举
  • .NET Project Open Day(2011.11.13)
  • .NET开发者必备的11款免费工具
  • .NET学习全景图
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [BT]BUUCTF刷题第9天(3.27)
  • [BZOJ] 3262: 陌上花开