1.日志的作用
在程序中,日志主要的作用有:
- 程序调试
- 了解程序运行是否正常
- 故障分析与问题定位
- 用户行为分析
2.日志的等级
主要分为5种:
- DEBUG:最详细的日志信息
- info:仅次于DEBUG,通常是只记录关键节点信息、
- WARNING:当某些不期望的事情发生时记录的信息,但是此时应用程序还是能正常运行
- ERROR:由于一个严重的问题导致某些功能不能正常运行时记录的信息
- CRITICAL:当发生严重错误,导致应用程序不能继续运行时记录的信息
代码如下:
import logging
logging.basicConfig(level=logging.INFO)
logging.info("info")
logging.debug("debug")
logging.warning("warning")
logging.error("error")
logging.critical("critical")
导入logging模块,在该模块中设置了每个等级级别分数,critical是最高的,在上面代码中,若不设置level=logging.INFO,默认是WARNING,可用basicConfig设置级别。上面代码输出如下:
CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0
输出:
第一列是日志级别,第二列是执行的用户,第三列是打印的信息
INFO:root:info
WARNING:root:warning
ERROR:root:error
CRITICAL:root:critical
3.logging模块的使用
logging模块使用有两种方式:
- 使用logging提供的模块级别的函数
- 使用Logging日志系统的四大组件
3.1 logging模块常用函数
3.2.logging模块的四大组件
- loggers:提供应用程序代码直接使用的接口
- handlers:用于将日志记录发送到指定的目的位置
- filters:提供更细粒度的日志过滤功能,用于决定哪些日志将会被输出
- formatters:用于控制日志信息的最终输出格式