日志是程序不可或缺的一部分。它可以记录程序的运行情况,帮助我们更便捷地发现问题,而python中的logging日志模块给我们提供了这个机会。

logging给我们提供了五种函数用来输出日志:debug()、info()、waring()、error()和critical()

这五种函数的使用场景:

DEBUG:详细信息,典型地调试问题时会感兴趣。

INFO: 证明事情按预期工作。

WARNING: 表明发生了一些意外,或者不久的将来会发生问题(如‘磁盘满了’)。软件还是在正常工作。

ERROR:由于更严重的问题,软件已不能执行一些功能了。

CRITICAL:严重错误,表明软件已不能继续运行了。

这篇文章只介绍logging的简单使用,下一篇文章将会介绍设置复杂的配置,以便满足更多的需求

简单配置

简单的配置适用于小的脚本文件中或者是小的项目中

首先我们利用了logging.basicConfig()函数设置logging。下面介绍其中的属性

level,设置需要捕获的日志级别,如果日志消息的级别高于设定的值则捕获该日志消息把它打印到屏幕上或者存储到文件中,如果低于该级别则不捕获

format,用于设置日志消息的格式

Attribute Format Description

asctime %(asctime)s 将日志的时间构造成可读的形式,默认情况下是‘2016-02-08 12:00:00,123’精确到毫秒

filename %(filename)s 包含path的文件名

funcName %(funcName)s 由哪个function发出的log

levelname %(levelname)s 日志的最终等级(被filter修改后的)

message %(message)s 日志信息

lineno %(lineno)d 当前日志的行号

pathname %(pathname)s 完整路径

process %(process)s 当前进程

thread %(thread)s 当前线程

filemode:设置记录日志的方式,'w'将会重新改写整个日志文件,'a'将会在原来的文件中追加内容

3. datefmt:可以设置日志消息中时间的显示格式

4. filename:设置将日志记录到那个文件当中,如果不设置这个值,日志将会打印到屏幕上

5. filemode:设置将日志写入文件的方式,'a'是追加到文件中,'w'是重写文件

注意:上面配置的属性都是可选的,他们都是有默认值的

分析代码

在代码中我们将日志以追加的方式写到同目录中的my.log中,并设置了消息的格式和处理消息的级别是INFO,所以只有

INFO和比INFO级别更高的日志消息我们才会记录捕获

我们设置了两个函数test1、test2,在test1中

test1

我们可以在日志消息中引用变量,我们看看运行的效果

my.log

可以看到只在my.log文件中写入了info和warning消息,而程序中的debug消息并没有写入,这是因为debug的级别小于info。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

好啦,今天的分享到这里就结束了,如果需要更多的技术性文章,可以直接访问马哥教育官网欧!

python中的logging日志模块的更多相关文章

  1. python中的第三方日志模块logging

    基本上每个系统都有自己的日志系统,可以使自己写的,也可以是第三方的.下面来简单介绍一下python中第三方的日志模块,入手还是比较简单的,但是也很容易给自己埋雷. 下面是我参考的资料链接 入手demo ...

  2. Python入门之logging日志模块以及多进程日志

    本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python ...

  3. python中的logging日志

    logging使用 import logging import os from logging import handlers from constants.constants import Cons ...

  4. Python 中 logging 日志模块在多进程环境下的使用

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 中 logging 日志模块在多进程环境下的使用 使用 Pytho ...

  5. Python 中 对logging 模块进行封装,记录bug日志、日志等级

    是程序产生的日志 程序员自定义设置的 收集器和渠道级别那个高就以那个级别输出 日志和报告的作用: 报告的重点在于执行结果(执行成功失败,多少用例覆盖),返回结果 日志的重点在执行过程当中,异常点,哪里 ...

  6. python 自动化之路 logging日志模块

    logging 日志模块 http://python.usyiyi.cn/python_278/library/logging.html 中文官方http://blog.csdn.net/zyz511 ...

  7. Python logging(日志)模块

    python日志模块 内容简介 1.日志相关概念 2.logging模块简介 3.logging模块函数使用 4.logging模块日志流处理流程 5.logging模块组件使用 6.logging配 ...

  8. Python中的logging模块就这么用

    Python中的logging模块就这么用 1.日志日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICALDEBUG:详细的信息,通常只出现在诊断问题 ...

  9. logging 日志模块学习

    logging 日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪,所以还是灰常重要滴,下面我就来从入门到放弃的系统学习一下日志既可以在屏幕上显示,又可以在文件中体现. ...

随机推荐

  1. Ansible-Hoc--样例

    一.常用场景 1. 列出支持的模块及模块功能说明: 2. sudo用法: 3. 检查服务器存活,复制本地文件到远程: 4. 多线程判断服务器的存活: 5.  显示所有主机的hostname: 6. 列 ...

  2. Mac和window实现双向数据传输

    Mac和window实现双向数据传输 总体步骤:第一步,在window上设置开发访问权限,然后选择要共享的磁盘或者文件夹第二步,在Mac上使用 Finder里面的网络,command+K,选择一个IP ...

  3. 使用objcopy实现将文件编译进执行程序

    一.简介  工作中可能遇到将一个文件编译进执行程序的需求,例如bin文件.jpg文件等等.实现的方法可以使用脚本来将文件内容写入一个新的C源文件数组,达成编译进程序的目的. 现在介绍一种简单.快捷的方 ...

  4. Mahalanobia Distance(马氏距离)的解释

    马氏距离有多重定义: 1)可以表示 某一个样本与DataSet的距离. 2)可以表示两个DataSet之间的距离. 1) The Mahalanobis distance of an observat ...

  5. Centos安装nodejs,并运行项目

    不建议编译安装,对gcc要求比较高 安装nodejs yum install nodejs nodejs升级 npm i -g n --force n stable npm升级 npm install ...

  6. ERP通过JAVA流的形式将数据传到外围系统

    1.ERP封装数据成XML写入数据库服务器指定文件 --指定相关文件信息 v_file_path := '/u01/test/app/fs1/EBSapps/appl/cux/12.0.0/forms ...

  7. 关于MySQL的内连接,外连接的总结

    首先创建两个数据库表,用户表u,账户表a 先看一下数据库表: u表: a表: 1. 内连接.    关键字:inner join SQL语句: select u.*,a.ID as aid,a.mon ...

  8. Python第六章 面向对象

    第六章 面向对象 1.面向对象初了解 ​ 面向对象的优点: ​ 1.对相似功能的函数,同一个业务下的函数进行归类,分类 ​ 2.类是一个公共的模板,对象就是从具体的模板中实例化出来的,得到对象就得到一 ...

  9. leetcode tree相关题目总结

    leetcode tree相关题目小结 所使用的方法不外乎递归,DFS,BFS. 1. 题100 Same Tree Given two binary trees, write a function ...

  10. 【LEETCODE】54、数组分类,简单级别,题目:605、532

    数组类,简单级别完结.... 不容易啊,基本都是靠百度答案.... 希望做过之后后面可以自己复习,自己学会这个解法 package y2019.Algorithm.array; /** * @Proj ...