目标 1. 掌握如何设置日志级别 2. 掌握如何设置日志格式 3. 掌握如何将日志信息输出到文件中 1. logging模块 Python中有一个标准库模块logging可以直接记录日志
1.1 基本用法 import logging
logging.debug("这是一条调试信息") logging.info("这是一条普通信息") logging.warning("这是一条警告信息") logging.error("这是一条错误信息") logging.critical("这是一条严重错误信息") 1.2 设置日志级别 logging中默认的日志级别为WARNING,程序中大于等于该级别的日志才能输出,小于该级别的日志不会被打印出来。
设置日志级别 logging.basicConfig(level=logging.DEBUG) 如何选择日志级别 在开发环境和测试环境中,为了尽可能详细的查看程序的运行状态来保证上线后的稳定性,可以使用DEBUG 或INFO级别的日志获取详细的日志信息,这是非常耗费机器性能的。 在生产环境中,通常只记录程序的异常信息、错误信息等(设置成WARNING或ERROR级别),这样既可以减小服务器的I/O压力,也可以提高获取错误日志信息的效率和方便问题的排查。
1.3 设置日志格式 默认的日志的格式为: 日志级别:Logger名称:日志内容 自定义日志格式:
logging.basicConfig(format="%(levelname)s:%(name)s:%(message)s") format参数中可能用到的格式化信息: 占位符 | | | | | | | | | | | | | | | | | | | | | | | 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896” | | | | | | | | |
示例代码: [AppleScript] 纯文本查看 复制代码
import logging
fmt = '%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s' logging.basicConfig(level=logging.INFO, format=fmt)
logging.debug("调试")
logging.info("信息") logging.warning("警告")
logging.error("错误") 1.1 将日志信息输出到文件中 默认情况下Python的logging模块将日志打印到了标准输出中(控制台) 将日志信息输出到文件中
logging.basicConfig(filename="a.log") 示例代码: [AppleScript] 纯文本查看 复制代码 import logging
fmt = '%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s' logging.basicConfig(filename="a.log", level=logging.INFO, format=fmt)
logging.debug("调试")
logging.info("信息") logging.warning("警告") logging.error("错误") |