Python的log日志功能及设置方法

 更新时间:2019年07月11日 16:27:19   作者:DefaultTest  
今天小编就为大家分享一篇Python的log日志功能及设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

引入:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍

一、日志级别(从低到高):

DEBUG :详细的信息,通常只出现在诊断问题上

INFO:确认一切按预期运行

WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。

ERROR:更严重的问题,软件没能执行一些功能

CRITICAL :一个严重的错误,这表明程序本身可能无法继续运行

注:这5个等级,也分别对应5种打日志的方法: debug 、info 、warning 、error 、critical。默认的是WARNING,当在WARNING或之上时才被跟踪。

二、日志输出:显示到控制台或保存到文件中,可以灵活选用

# 这里为了简便,同时处理:输出控制台和保存到文件中
​
import logging 
​
# 第一步,创建一个logger 
logger = logging.getLogger() 
logger.setLevel(logging.INFO) # Log等级总开关 
​
# 第二步,创建一个handler,用于写入日志文件 
logfile = './log.txt' 
fh = logging.FileHandler(logfile, mode='a') # open的打开模式这里可以进行参考
fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关 
​
# 第三步,再创建一个handler,用于输出到控制台 
ch = logging.StreamHandler() 
ch.setLevel(logging.WARNING)  # 输出到console的log等级的开关 
​
# 第四步,定义handler的输出格式 
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") 
fh.setFormatter(formatter) 
ch.setFormatter(formatter) 
​
# 第五步,将logger添加到handler里面 
logger.addHandler(fh) 
logger.addHandler(ch) 
​
# 日志 
logger.debug('这是 logger debug message') 
logger.info('这是 logger info message') 
logger.warning('这是 logger warning message') 
logger.error('这是 logger error message') 
logger.critical('这是 logger critical message')

三、日志格式说明

logging.basicConfig函数中,可以指定日志的输出格式format,这个参数可以输出很多有用的信息,如下:

%(levelno)s: 打印日志级别的数值

%(levelname)s: 打印日志级别名称

%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]

%(filename)s: 打印当前执行程序名

%(funcName)s: 打印日志的当前函数

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

%(asctime)s: 打印日志的时间

%(thread)d: 打印线程ID

%(threadName)s: 打印线程名称

%(process)d: 打印进程ID

%(message)s: 打印日志信息

以上这篇Python的log日志功能及设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 分析Python中解析构建数据知识

    分析Python中解析构建数据知识

    本篇文章给大家讲述一下Python中解析构建数据知识的相关内容,有需要的朋友跟着学习下。
    2018-01-01
  • 详解Python绘图Turtle库

    详解Python绘图Turtle库

    Turtle库是Python语言中一个很流行的绘制图像的函数库,这篇文章主要介绍了Python绘图Turtle库的相关知识,需要的朋友可以参考下
    2019-10-10
  • Python 数据处理库 pandas进阶教程

    Python 数据处理库 pandas进阶教程

    在前面一篇文章中,我们对pandas做了一些入门介绍。本文是它的进阶篇。在这篇文章中,我们会讲解一些更深入的知识
    2018-04-04
  • python实现将多个文件分配到多个文件夹的方法

    python实现将多个文件分配到多个文件夹的方法

    今天小编就为大家分享一篇python实现将多个文件分配到多个文件夹的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Django ORM判断查询结果是否为空,判断django中的orm为空实例

    Django ORM判断查询结果是否为空,判断django中的orm为空实例

    这篇文章主要介绍了Django ORM判断查询结果是否为空,判断django中的orm为空实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python之标点符号string.punctuation的使用

    Python之标点符号string.punctuation的使用

    Python的string模块提供了一个方便的属性string.punctuation,其中包含所有ASCII标点符号字符,这使得在处理和识别字符串中的标点符号时非常有用,可以通过简单的in关键字来检测字符是否为标点
    2024-09-09
  • CentOS 7下Python 2.7升级至Python3.6.1的实战教程

    CentOS 7下Python 2.7升级至Python3.6.1的实战教程

    Centos是目前最为流行的Linux服务器系统,其默认的Python 2.x,这篇文章主要给大家分享了关于在CentOS 7下Python 2.7升级至Python3.6.1的实战教程,文中将升级的步骤一步步的介绍的非常详细,对大家的理解和学习具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • Python线程池ThreadPoolExecutor使用方式

    Python线程池ThreadPoolExecutor使用方式

    这篇文章主要介绍了Python线程池ThreadPoolExecutor使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • langchain中LLM模型使用详解

    langchain中LLM模型使用详解

    这篇文章主要为大家介绍了langchain中LLM模型使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Python离线安装第三方库详细操作流程

    Python离线安装第三方库详细操作流程

    在使用Python开发过程中,我们经常需要使用各种第三方库来扩展Python的功能,这篇文章主要给大家介绍了关于Python离线安装第三方库的相关资料,需要的朋友可以参考下
    2023-11-11

最新评论