python基础12--logging等模块

Posted sakura-gyt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础12--logging等模块相关的知识,希望对你有一定的参考价值。

logging模块:

技术图片
import logging
#日志级别:debug<info<warning<error<critical<NOTSET ,不设置等级默认是显示warning以上的级别
logging.debug("debug message")
logging.info("info message")
logging.warning("warning message")
logging.error("error nessage")
logging.critical("critical message")
#结果为
# WARNING:root:warning message
# ERROR:root:error nessage
# CRITICAL:root:critical message

#logging.basicConfig方式只能在屏幕显示或写入文件
logging.basicConfig( level = logging.DEBUG,  #设定logging级别
                     filename="logger.txt",  # 如无次参数,结果显示在屏幕上,加上参数生成一个文本,并把结果存入文本中
                     filemode="w",            # #文件默认是追加,改成写的模式,保证每次都是五条信息
                     format="%(asctime)s %(name)s  [%(lineno)d]  %(message)s")   #asctime(固定时间格式),name(用户名称),lineno(日志所在文件的行数),message(日志信息)
logging.debug("debug message")
logging.info("info message")
logging.warning("warning message")
logging.error("error nessage")
logging.critical("critical message")
#结果为
# DEBUG:root:debug message
# INFO:root:info message
# WARNING:root:warning message
# ERROR:root:error nessage
# CRITICAL:root:critical message


#logger方式能写入文件显示和在屏幕中显示
def logger():
    logger=logging.getLogger()
    fh=logging.FileHandler("logger_test")   #往文件中写入内容
    ch=logging.StreamHandler()     #往屏幕中显示内容
    fm=logging.Formatter("%(asctime)s  %(message)s  %(name)s")  #设定一个格式
    fh.setFormatter(fm)   #把fh,ch都应用成fm的格式
    ch.setFormatter(fm)
    logger.addHandler(fh)
    logger.addHandler(ch)
    return logger

logger=logger()     #直接调用logger函数
logger.setLevel("DEBUG")
logger.debug("debug message")
logger.info("info message")
logger.error("error nessage")
logger.warning("warning message")
logger.critical("critical message")



#补充:假设又logger、logger1、logger2三个对象,也是实现以上功能,当logger1(级别为debug)和logger2(级别为info)在getlogger时加上了同样的名字,相当于在root下面建了子用户--my logger,设定级别时
#按最低的显示(info),当logger(默认为root用户)和logger1(级别为debug)运行时,logger打印warning以上级别的信息,而logger1打印debug以上级别的信息,因为my logger用户是root用户的子用户,当logger
# 有运行,就会再打印一次给root用户。
View Code

 

以上是关于python基础12--logging等模块的主要内容,如果未能解决你的问题,请参考以下文章

Python学习——02-Python基础——7-模块——time与random等常用模块与包

Python基础_20191102

python协程--asyncio模块(基础并发测试)

logging模块

Python range 数据类型 [学习 Python 必备基础知识][看此一篇就够了][range()][range 元素元素检测元素索引查找切片负索引][检测 range 对象是否相等](代码片

Python range 数据类型 [学习 Python 必备基础知识][看此一篇就够了][range()][range 元素元素检测元素索引查找切片负索引][检测 range 对象是否相等](代码片