python生成log文件_Python使用logging模块实现打印log到指定文件的方法-程序员宅基地

技术标签: python生成log文件  

本文实例讲述了Python使用logging模块实现打印log到指定文件的方法。分享给大家供大家参考,具体如下:

可能我们经常会使用print来输出信息到窗口,但当我们有很多个py文件需要运行,项目比较庞大的到时候,print简直就是太low了点了。那么我们可以使用强大的logging模块,把输出到指定的本地pc某个路径的文件中。

一、logging的框架

1、 Loggers: 可供程序直接调用的接口,app通过调用提供的api来记录日志

2、 Handlers: 决定将日志记录分配至正确的目的地

3、 Filters:对日志信息进行过滤,提供更细粒度的日志是否输出的判断

4、 Formatters: 制定最终记录打印的格式布局

二、Log级别

系统默认有6个级别,优先级:

CRITICAL    50

ERROR      40

WARNING   30

INFO        20

DEBUG      10

NOTSET     0

设置要打印的log时只需要设置优先级,比如设置打印INFO,那么比INFO优先级高的WARNING/ERROR/CRITICAL都将被打印。

三、正常的打印

这里只输出了ERROR和WARNING的信息,是因为logging默认的输出级别是WARNING。

四、输出到指定文件

来看看这样写的代码:

import logging

import unittest

class lgtest(un

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39637661/article/details/110779026

智能推荐

error C2039: 'wstring' : is not a member of 'std'(转)_wstring_convert’ is not a member of ‘std-程序员宅基地

文章浏览阅读1w次。环境:win7 32,vs2010问题:error C2039: 'wstring' : is not a member of 'std'(转)解决方法: #include 转自:http://blog.csdn.net/lostspeed/article/details/6787654_wstring_convert’ is not a member of ‘std

解决sudo: /etc/sudoers is world writable_sudo: /etc/sudoers is world writable sudo: no vali-程序员宅基地

文章浏览阅读7.8k次,点赞7次,收藏8次。错误信息:sudo: /etc/sudoers is world writablesudo: no valid sudoers sources found, quittingsudo: unable to initialize policy plugin这个是linux为保证系统安全所做的限制,解决方法运行如下两条命令:解决方法1(亲测有效:pkexec chmod 555 /etc/sudoerspkexec chmod 555 /etc/sudoers.d/README解决方法2(_sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, q

3dmax-unity点面数量研究(平滑组)_unity能不能识别平滑组-程序员宅基地

文章浏览阅读1.3k次。1.创建一个圆柱62:等于边上6条线 每个线上10个点 + 上下面中心的1个点120:边上的四边形面50个,相当于是100个三角形面。上下面分别有10个三角形面。2.导出fbx,放入unity,写代码获取点面数据..._unity能不能识别平滑组

Python数据分析 1-4 NumPy数组的转换、合并和拆分_python 数组部分转化-程序员宅基地

文章浏览阅读810次。numpy基本知识的学习 全全全_python 数组部分转化

[新手必看] FreeBSD 最小化安装 +diablo-jdk +Apache 与 Tomcat 整合_checksum.sha256-freebsd-13.0-release-i386-程序员宅基地

文章浏览阅读779次。这篇文章算是补交很久之前的一篇作业,也顺便平息坛子里面很多同学的疑问!我先说明一下配置环境的大概情况: FreeBSD 6.2-RELEASE diablo-jdk-1.5.0.07.01 apache-2.2.3 tomcat-5.5.23_checksum.sha256-freebsd-13.0-release-i386

Python运行Spark集群环境踩坑记录_spark.python.worker.memory-程序员宅基地

文章浏览阅读5k次,点赞4次,收藏22次。这一段时间一直在弄spark集群,然后开发使用的是python开发,其中环境的坑多到几度想令我放弃,这也就是公司没有配置专业搭环境的工程师的弊端,遇到事情了只能自己解决,于是自己记录下不同的坑,方便自己以后排雷,也放出来给有需要的人。1. 在python中配置环境变量注意点 首先就是python环境在集群中必须一致,如果是采用os.environ的方法的话,不然你就会遇到如下的报错解决..._spark.python.worker.memory

随便推点

Python实现GWO智能灰狼优化算法优化BP神经网络分类模型(BP神经网络分类算法)项目实战_智能优化算法优化神经网络-程序员宅基地

文章浏览阅读991次。Python实现GWO智能灰狼优化算法优化BP神经网络分类模型(BP神经网络分类算法)项目实战_智能优化算法优化神经网络

selenium连接已打开的Firefox浏览器_selenium控制已经打开的火狐-程序员宅基地

文章浏览阅读2k次。selenium连接已经打开的firefox浏览器_selenium控制已经打开的火狐

Web自动化测试:获取浏览器弹窗alert、自定义弹窗以及其操作_通过alert类中的 什么 属性可以获取弹框中的提示信息-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏6次。在测试中,有时候会遇到弹窗的问题,有的是浏览器弹窗(alert)、有的是自定义弹窗;这节我们主要来讨论一下关于浏览器弹窗和简单的自定义弹窗。一、关于alert弹窗的方法switch_to_alert(): 定位到alert弹窗,返回一个弹窗的对象dismiss(): 对弹窗对象的取消操作(相当于点击弹窗上的取消按钮)accept():对弹窗对象的确定操作(相当于点击弹窗上的确定按钮)text:对弹窗对象,获取弹窗内的文本send_keys(key):对弹窗对象内的输入框输入数据(如果弹窗的格式有_通过alert类中的 什么 属性可以获取弹框中的提示信息

Tensors in Neural Networks--CNN 2_鈥渢ensors are a generalization of matrices to an ar-程序员宅基地

文章浏览阅读1.5k次。In Deep Learning, we store our data in the form of Tensors.Tensors can also be defined as a generalization of matrices to an arbitrary number of dimensions.Scalars (0D Tensors)A tensor that contains only one number is called a scalar, a scalar-tensor _鈥渢ensors are a generalization of matrices to an arbitrary number of dimensi

解决 QT udp接收不到数据包问题_qudpsocket收不到数据-程序员宅基地

文章浏览阅读1.3w次,点赞17次,收藏104次。这个问题困扰了一天,记下笔记,避免重蹈覆辙。通过bool打印connect是成功连接的,readyRead也相应,但就是收不到数据UdpCommunication::UdpCommunication(QObject *parent) :QObject(parent){ udpSocket = new QUdpSocket(this); qint16 port; port = 8806; udpSocket->bind(QHostAddress::AnyIPv_qudpsocket收不到数据

C语言实现 输入两个正整数m和n,求其最大公约数和最小公倍数【学习笔记】_由键盘输入两个正整数m、n(m、n<1000000),计算它们的最大公约数-程序员宅基地

文章浏览阅读2.5w次,点赞20次,收藏62次。输入两个正整数m和n,求其最大公约数和最小公倍数求最大公约数(可以同时整除):一共总结了两种方法求最大公约数,如下。求最小公倍数 :等与 m*n/最大公倍数**方法一:**①最大公约数不会超过最小数 ②逐步减一,直到可以同时整除m和nint main(){ int m=0;int n=0; int min; //最小公倍数 scanf("%d,%d",&m,&n); int max = m<n?m:n; //最大公约数不会超过最小数,所以假设就是m和n中的最小值_由键盘输入两个正整数m、n(m、n<1000000),计算它们的最大公约数