日志是程序不可或缺的一部分。它可以记录程序的运行情况,帮助我们更便捷地发现问题,而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. Thread 设置 IsBackground true false 的 运行差别

    1.这是一个 后台线程,IsBackground=true,  主线程完成后,后台子线程也停止了,即使 子线程 还有没运行完,也要停止 class Program { static void Main ...

  2. SpringMVC的基本概念

    1.1关于三层架构和MVC 1.1.1 三层架构 我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就 是浏览器服务器.在 JavaEE 开发中 ...

  3. 为文献管理软件Mendeley设置代理

    Mendeley由于某些原因无法在线同步,需要fq,在tools->option->connection中可以设置http代理或者sock5代理, sock5可以使用shadowsocks ...

  4. chamfer_pcd

    import tensorflow as tf import numpy as np def distance_matrix(array1, array2): """ a ...

  5. Kafka Streams | 流,实时处理和功能

    1.目标 在我们之前的Kafka教程中,我们讨论了Kafka中的ZooKeeper.今天,在这个Kafka Streams教程中,我们将学习Kafka中Streams的实际含义.此外,我们将看到Kaf ...

  6. Delphi百度语音【支持语音识别和语音合成】

    作者QQ:(648437169) 点击下载➨百度语音         语音识别api文档         语音合成api文档 [Delphi 百度语音]支持获取 Access Token.语音识别.语 ...

  7. Java找N个数中最小的K个数,PriorityQueue和Arrays.sort()两种实现方法

    最近看到了 java.util.PriorityQueue.刚看到还没什么感觉,今天突然发现他可以用来找N个数中最小的K个数. 假设有如下 10 个整数. 5 2 0 1 4 8 6 9 7 3 怎么 ...

  8. 数据结构-二叉树的遍历实现笔记C++

    二叉树的遍历实现,可以用递归的方法也可以用非递归的方法.非递归的方法可以借助栈(前序遍历,中序遍历,后序遍历),也可以借助队列(层次遍历).本次笔记只使用了递归的方法来进行前序遍历,中序遍历,后序遍历 ...

  9. GOF 的23种JAVA常用设计模式 学习笔记 持续更新中。。。。

    前言: 设计模式,前人总结下留给后人更好的设计程序,为我们的程序代码提供一种思想与认知,如何去更好的写出优雅的代码,23种设计模式,是时候需要掌握它了. 1.工厂模式 大白话:比如你需要一辆汽车,你无 ...

  10. java之struts2之ServletAPI

    在之前的学习中struts2已经可以处理大部分问题了.但是如果要将用户登录数据存入session中,可以有两种方式开存入ServletAPI. 一种解耦合方式,一种耦合方式. 1. 解耦合方式 解耦合 ...