一、简介
logging模块是python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。
Logger从来不直接实例化,经常通过logging模块级方法logging.getLogger(name)来获得,其中如果name不给定就用root,一般使用__name__。
logger = logging.getLogger(__name__) #创建logger对象
日志级别
CRITICAL = 50 # FATAL = CRITICAL 软件整体性的挂掉
ERROR = 40 # 报错后记录日志
WARNING = 30 # WARN = WARNING,有可能发生风险的日志
INFO = 20 # 常规日志
DEBUG = 10 # 调试日志,开发过程中记录,上线后则不记录
NOTSET = 0 # 不设置
日志级别是自下而上匹配,如果 将日志级别记录为 INFO ,那么INFO以及以上的级别日志都会记录,以下的不记
# 修改日志级别:
logging.basicConfig( level=logging.DEBUG)
# 日志记录到文件:(否则只在命令行窗口输出)
logging.basicConfig(filename="test.log", level=logging.INFO)
指定日志格式:
想加入日期时间、显示日志器名字:(默认输出的格式包含3部分,日志级别,日志记录器的名字,以及日志内容,中间用“:”连接)
logging.basicConfig(format='%(asctime)s %(levelname)s %(name)s %(message)s')
# 输出:
2021-12-15 07:44:16,547 ERROR root this is error

三、记录器(logger)
日志记录都是通过日志记录器(Logger)的实例对象创建的,每个记录器都有一个名称,直接使用logging来记录日志时,系统会默认创建名为 root 的记录器,这个记录器是根记录器。
记录器支持层级结构,子记录器通常不需要单独设置日志级别以及Handler(后面会介绍),如果子记录器没有单独设置,则它的行为会委托给父级。
# 记录器命名:
logger = logging.getLogger(__name__)
1696

被折叠的 条评论
为什么被折叠?



