python将日志生成到文件和控制台
# 日志收集设置
import logging, os
from logging.handlers import TimedRotatingFileHandler
import datetime
current_dir = os.path.abspath(os.path.dirname(__file__))
parent_dir = os.path.dirname(current_dir)
my_log_path = os.path.join(parent_dir, "./Log")
error_path = os.path.join(parent_dir, "./Log/error")
if not os.path.exists(my_log_path):
os.mkdir(my_log_path)
if not os.path.exists(error_path):
os.mkdir(error_path)
my_report_path = os.path.join(parent_dir, "./Report")
if not os.path.exists(my_report_path):
os.mkdir(my_report_path)
# 定义一个日志收集器
logger = logging.getLogger("guoguo")
# 设置收集器级别,不设定的话,会默认搜集warning及以上级别的日志
logger.setLevel(logging.INFO)
# 设置日志格式
fmt = logging.Formatter("%(filename)s-%(lineno)d-%(asctime)s-%(levelname)s-%(message)s")
# 设置日志输出到控制台
stream_handler = logging.StreamHandler()
# 设置日志输出到文件
file_handler = TimedRotatingFileHandler('Log/{}.log'.format(datetime.datetime.now().strftime('%Y-%m-%d')), when="D", interval=1, backupCount=30, encoding='utf-8')
file_error_handler = TimedRotatingFileHandler('Log/error/{}.log'.format(datetime.datetime.now().strftime('%Y-%m-%d')), when="D", interval=1, backupCount=30, encoding='utf-8')
# 设置控制台和文件的日志输出格式
stream_handler.setFormatter(fmt)
file_handler.setFormatter(fmt)
file_error_handler.setFormatter(fmt)
# 添加过滤条件
err_filter = logging.Filter()
err_filter.filter = lambda record: record.levelno >= logging.WARNING
file_error_handler.addFilter(err_filter)
# 将输出对象添加到logger中
logger.addHandler(file_handler)
logger.addHandler(stream_handler)
logger.addHandler(file_error_handler)
"""
收集日志
logger.info()
logger.debug()
logger.warning()
logger.error()
"""
python将日志生成到文件和控制台的更多相关文章
- Python 使用cx_freeze 生成exe文件【转】
Python 使用cx_freeze 生成exe文件 在python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller.py2exe恐怕是三 ...
- Python - loguru日志库,高效输出控制台日志和日志记录
一.安装loguru loguru的PyPI地址为:https://pypi.org/project/loguru/ GitHub仓库地址为:https://github.com/Delgan/log ...
- python xlwt模块生成excel文件并写入数据 xlrd读取数据
python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...
- Python:Dom生成XML文件(写XML)
http://www.ourunix.org/post/327.html 在python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文 ...
- 【jinja2】Python根据模板生成HTML文件并加载进QWebEngineView
前言 继前文Python在PyQt5中使用ECharts绘制图表中在Python程序中添加网页展示ECharts图表,和Python使用QWebEngineView时报错Uncaught Refere ...
- 【Python 代码】生成hdf5文件
import random from PIL import Image import numpy as np import os import h5py from PIL import Image L ...
- python之reportlab生成PDF文件
项目需要,需要自动生成PDF测试报告.经过对比之后,选择使用了reportlab模块. 项目背景:开发一个测试平台,供测试维护测试用例,执行测试用例,并且生成测试报告(包含PDF和excel),将生成 ...
- 日志生成控制文件syslog.conf
1: syslog.conf的介绍 对于不同类型的Unix,标准UnixLog系统的设置,实际上除了一些关键词的不同,系统的syslog.conf格式是相同的.syslog采用可配置的.统一的系统登记 ...
- Python 使用cx_freeze 生成exe文件
在python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller.py2exe恐怕是三者里面知名度最高的一个,但是同时相对来说它的打包质量恐怕也 ...
- 【Python】自动生成html文件查看指定目录中的所有图片
获取本目录下的pic子目录中的所有图片(jpg,png,bmp,gif等,此处以jpg文件为例),然后生成一个image.html文件,打开该html文件即可在浏览器中查看pic子目录中的所有图片. ...
随机推荐
- Sharding-JDBC源码解析与vivo的定制开发
作者:vivo IT 平台团队 - Xiong Huanxin Sharding-JDBC是在JDBC层提供服务的数据库中间件,在分库分表场景具有广泛应用.本文对Sharding-JDBC的解析.路由 ...
- VSCode 配置 Spring Boot 项目开发环境
神器IDEA在升级到2023之后越发卡顿, EDU邮箱也不能用了, 照现在这个JDK版本的升级速度, 神器不升级也不行, 需要开始物色替代品. 其它IDE我用得少, VSCode还是比较熟悉的, 可以 ...
- sqlserver 查看执行计划
-- 清除执行计划缓存 DBCC FREEPROCCACHE -- 查看缓存执行计划 SELECT * FROM sys.dm_exec_cached_plans as p CROSS APPLY s ...
- WPF之属性
目录 属性 依赖属性(Dependency Property) 依赖属性对内存的使用方式 声明和使用依赖属性 声明依赖属性 使用依赖属性 依赖属性的"属性" 依赖属性的" ...
- 常用Linux系统性能分析命令
Linux系统提供了许多命令来分析系统性能.以下是一些常用的Linux系统性能分析命令: top:实时监视系统的运行状态和进程信息,包括CPU使用率.内存使用情况.进程状态等. 实例:直接在终端中输入 ...
- Java/Kotlin 实现控制台输出日志保存到文件
原文:Java/Kotlin 实现控制台输出日志保存到文件 | Stars-One的杂货小窝 之前开发的几款软件,用户用着的过程中,偶尔会存在报错问题,想保留一份日志出来,之后可由用户发过来,进行问题 ...
- day14--Java常用类之字符串相关类02
Java常用类 2.字符串相关类 String.StringBuilder.StringBuffer类是三个字符串相关类. String类代表不可变字符序列,StringBuilder类和String ...
- CSS(相对定位relative、绝对定位absolute、固定定位fixed、定位应用、元素的显示和隐藏)
一. 定位(position) 介绍 1.1 为什么使用定位 我们先来看一个效果,同时思考一下用标准流或浮动能否实现类似的效果? 场景1: 某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子. ...
- 一文搞懂idea中的根目录和路径(以Mybatis为例)
一文搞懂idea中的根目录和路径(以Mybatis为例) 在 IntelliJ IDEA 中,项目结构和组织比较灵活,允许用户根据项目需求进行定制. 1.根目录概念: 1.1 项目根目录(Projec ...
- C#调用HTTP POST请求上传图片
public static string UploadImage(string uploadUrl, string imgPath, string fileparameter = "file ...