一、日志分为几个级别? debug--调试信息 info--详细信息:数据 进度 warning 警告信息 error 错误信息 critical 致命的 严重的错误

二、实例 import logging Formatter对象 用于决定日志打印的格式 fmt = logging.Formatter("%(asctime)s %(levelname)s Line:%(lineno)s==>%(message)s")

#Handler对象 将(logger创建的)日志记录发送到合适的目的输出 ch = logging.StreamHandler() # 标准输出流处理对象 ch.setFormatter(fmt) ch.setLevel(logging.WARNING)

fh = logging.FileHandler("1.log") # 文件处理对象 fh.setFormatter(fmt) fh.setLevel(logging.WARNING)

#Logger对象 对外暴露的接口 logger = logging.Logger("miaomiao",'INFO') logger.addHandler(ch) logger.addHandler(fh)

#日志输出 logger.debug("debug级别的日志") logger.info("info级别的日志") logger.warning("warning级别的日志") logger.error("error级别的日志") logger.critical("critical级别的日志")

三、说明 logging模块常用的类主要有以下几个     logging.Logger       主要提供应用程序代码直接使用的接口,一般不会直接实例化,而是通过logging.getLogger(name)得到     logging.Handler       日志处理对象的基类,不应实例化,被实例化的应该是其子类,如logging.StreamHandler,它负责发送日志记录到正确的目标     logging.Formatter       它决定了以怎样的格式来进行打印日志记录,常用的日志格式如下:       %(name)s         Logger对象的名字       %(levelname)s         日志级别的英文表示       %(filename)s         调用日志输出函数的模块名       %(lineno)s         调用日志输出函数的语句所在的代码行       %(asctime)s         字符串形式的当前时间       %(message)s         用户输出的消息