Python logging基本使用
概要: 使用标准库的logging
模块处理Python中的日志输出。
创建时间: 2023.08.16 22:57:05
更新时间: 2023.09.05 23:53:39
日志等级
常见的日志等级有如下几种
DEBUG
: 最详细的日志信息,典型应用场景是 问题诊断
INFO
: 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作
WARNING
: 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的
ERROR
: 由于一个更严重的问题导致某些功能不能正常运行时记录的信息
CRITICAL
: 当发生严重错误,导致应用程序不能继续运行时记录的信息
基本使用方法
Python |
---|
| import logging
logging.debug("This is a debug log.")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")
|
提示
由于logging模块默认输出等级为WARNING
,所以这里看不到DEBUG
和INFO
的log输出
配置日志输出等级
在Python中,使用**logging.basicConfig(**kwargs)**
方法自定义log的输出格式
Python |
---|
| import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("This is a debug log.")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")
|
配置日志输出格式
Python |
---|
| import logging
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT)
logging.debug("This is a debug log.")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")
|
将日志输出到文件
Python |
---|
| import logging
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
DATE_FORMAT = "%Y-%m-%d %H:%M:%S %p"
logging.basicConfig(filename='demo.log', level=logging.DEBUG, format=LOG_FORMAT, datefmt=DATE_FORMAT)
logging.debug("This is a debug log.")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")
|
参考