python内置日志模块logining

'''
软件开发通过日志纪录程序的运行是一种良好的开发习惯,python标准库自带日志模块,在程序模块中直接调用标准库
的日志模块,通过日志开发者可以清楚的了解到发生了哪些事情,包括出现了哪些错误。
在logging中日志文件分为5个等级
日志等级(level)            描述
DEBUG                       调试信息,通常在诊断问题时使用
INFO                        普通信息,确认程序按预期进行
WARNING                     警告信息,表示发生意想不到的信息,程序会继续运行
ERROR                       错误信息,程序运行出现问题,程序某些功能不能执行
CRITICAL                    危险信息,一个严重的错误,导致程序无法继续运行
'''
'''
import logging #导入日志模块
logging.basicConfig(filename="test.log",level=logging.DEBUG) #创建日志文件,设置等级
#-----运行文件写入三个信息分别为debug、info、warning三种级别
logging.debug("debug")
logging.info("info")
logging.warning("warning")
'''
#-----创建一个日志文件管理器------------------------------------------
'''
第一步:初始化日志处理器对象
第二步:设置级别
第三步:定义handler(控制显示)
第四步:格式化输出
'''
import logging
logger = logging.getLogger() #实例化一个日志处理器对象

logger.setLevel(logging.DEBUG) #设置级别

sh = logging.StreamHandler() #设置在控制台输出
sh.setLevel(logging.DEBUG) #达到级别就输出
fh = logging.FileHandler("test.log",encoding="utf-8") #写入到文件中
fh.setLevel(logging.DEBUG)#达到级别就输出

#定义输出格式
formatter = logging.Formatter(
    "时间:%(asctime)s,"
    "日志级别:%(levelname)s,"
    "日志内容:%(message)s"
)

sh.setFormatter(formatter) #设置在控制台输出的格式
fh.setFormatter(formatter) #设置写入文件的格式

logger.addHandler(sh) #使handler生效
logger.addHandler(fh)

#在日志管理器中写入5个文件级别分别为:debug、info、warning、error、critical
if __name__ == '__main__':
    logger.debug("调试中")
    logger.info("正在运行")
    logger.warning("警告")
    logger.error("错误")
    logger.critical("崩溃")
#----在函数调试中使用日志管理器------------------------
def func(n):
    try:
        num = 20/n
        logger.info(num)
    except Exception as s:
        logger.error(s)
func("sss")

猜你喜欢

转载自www.cnblogs.com/jb9527/p/10847216.html