美文网首页
日志记录——logging模块

日志记录——logging模块

作者: 茶浅呀 | 来源:发表于2020-05-30 19:47 被阅读0次

Logging:日志记录是为了跟踪记录软件运行时,发生的事件,包括出错,提示信息等等。
log日志级别:日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET;模块默认级别为WARNING,即当且仅当等于或高于WARNING的事件会被记录下来,其余的忽略不计。

1、打印到屏幕:

import logging

logging.warn("this logging warn")
logging.info("this is logging info")

屏幕打印为:

WARNING:root:this logging warn

2、打印到指定文件

import logging
LOG_FILENAME="/root/project/log.txt"
logging.basicConfig(filename=LOG_FILENAME,level=logging.INFO)
logging.info("This message should go to the log file")

3、通过logging.basicConfig函数对日志的输出格式及方式做相关配置

import logging

# LOG_FILENAME = r"C:\Users\weiming\Desktop\log.txt"
# logging.basicConfig(filename=LOG_FILENAME, level=logging.INFO)
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d]  %(levelname)s %(message)s',
                    datefmt= '%a, %d %b %Y %H:%M:%S',
                    filename='logs.log',
                    filemode='w')
logging.debug('debug information')
logging.info('info information')
logging.warn('warning information')

logging.basicConfig函数各参数:

filename: 指定日志文件名
filemode: 和file函数意义相同,指定日志文件的打开模式,’w’或’a’
format: 指定输出的格式和内容,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: 打印日志信息
datefmt: 指定时间格式,同time.strftime()
level: 设置日志级别,默认为logging.WARNING
stream: 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1085991341,还会有同行一起技术交流。

4、将日志同时输出到文件和屏幕

import logging

# LOG_FILENAME = r"C:\Users\weiming\Desktop\log.txt"
# logging.basicConfig(filename=LOG_FILENAME, level=logging.INFO)
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d]  %(levelname)s %(message)s',
                    datefmt= '%a, %d %b %Y %H:%M:%S',
                    filename='logs.log',
                    filemode='w')

# 定义一个StreamHandler,将INFO级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象
console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(name)-12s:%(levelname)-8s %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)

logging.debug('debug information')
logging.info('info information')
logging.warn('warning information')

以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

相关文章

  • Python-Loggin模块

    logging模块 什么是logging模块 logging模块是python提供的用于记录日志的模块 为什么需要...

  • python日志模块记录一

    logging日志模块 logging模块,干什么用 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程...

  • 接口自动化测试怎么一步步学、按照我的方式、你不可能学不会-第二集

    第14节 logging日志模块封装 logging模块介绍 logging模块是Python内置的标准模块,主要...

  • logging

    Menu logging定义 logging - basicConfig logging定义 日志模块 loggi...

  • logging模块

    (一)什么是logging模块? logging是Python内置的日志模块,用于生成程序的日志 (二...

  • Django中的日志系统章

    Python日志系统 Django使用logging模块记录日志。Python的日志系统分为4块。分别是:logg...

  • 日志模块

    记录日志的类Python 使用logging模块记录日志涉及四个主要类,官方解释: 1.Logger 记录器,暴露...

  • Python全栈之路标准库系列之logging模块

    logging模块用于便捷记录日志且线程安全。 日志级别 只有大于当前日志等级的操作才会被记录。 实例 写入单文件...

  • logging

    Python的logging模块提供了通用的日志系统,这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比...

  • 1-logging模块

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志...

网友评论

      本文标题:日志记录——logging模块

      本文链接:https://www.haomeiwen.com/subject/qsmhzhtx.html