zoukankan      html  css  js  c++  java
  • python之logging.basicConfig

    在自动化测试中,软件运行会出现错误,这时候日志就很重要了

    python的logging.basicConfig函数在这里就显得很重要了

    首先我们日志需要按照info、debug、error等级别来进行区分的。当然这个级别可以自己去设置。在一般的情况下我们普通的输出我们直接用info类型,调试的时候用debug类型,如果预计有错误时那么我们就需要用error类型的日志,一般情况去info级别最为合适。

    logging模块包括logger,Handler,Filter,Formatter四个部分。

    • Logger 记录器,用于设置日志采集。
    • Handler 处理器,将日志记录发送至合适的路径。
    • Filter 过滤器,提供了更好的粒度控制,它可以决定输出哪些日志记录。
    • Formatter 格式化器,指明了最终输出中日志的格式。

    python中配置logging有三种方式

    第一种:基础配置,logging.basicConfig(filename="config.log",filemode="w",format="%(asctime)s-%(name)s-%(levelname)s-%(message)s",level=logging.INFO)。
    第二种:使用配置文件的方式配置logging,使用fileConfig(filename,defaults=None,disable_existing_loggers=Ture )函数来读取配置文件。
    第三种:使用一个字典方式来写配置信息,然后使用dictConfig(dict,defaults=None, disable_existing_loggers=Ture )函数来瓦按成logging的配置.

    日志一共分成5个等级,从低到高分别是:DEBUG ,INFO ,WARNING ,ERROR, CRITICAL。

    日志输出:可以输出在控制台和文件

    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被忽略

  • 相关阅读:
    01-helloworld
    F2. Nearest Beautiful Number (hard version) (思维+分类讨论+枚举)
    CF1559 D2. Mocha and Diana (Hard Version)
    牛客小白月赛36——全部施工完毕
    [P4735] 最大异或和——可持久化trie + 思维
    CF1322B Present(思维 + 位运算 + 双指针 + 枚举)
    牛客每日一题SCI2005扫雷
    一些没见过的dp模型
    思维训练——CF1304E 1-Trees and Queries
    思维训练——CF1292B Aroma's Search
  • 原文地址:https://www.cnblogs.com/wind666/p/10737325.html
Copyright © 2011-2022 走看看