用法:
logging.debug(msg, *args, **kwargs)
在根记录器上记录级别为
DEBUG
的消息。msg
是消息格式字符串,args
是使用字符串格式化运算符合并到msg
中的参数。 (请注意,这意味着您可以在格式字符串中使用关键字以及单个字典参数。)kwargs
中有三个关键字参数被检查:exc_info
,如果它不评估为假,则会导致将异常信息添加到日志消息中。如果提供了异常元组(以sys.exc_info()
返回的格式)或异常实例,则使用它;否则,调用sys.exc_info()
获取异常信息。第二个可选关键字参数是
stack_info
,默认为False
。如果为 true,则将堆栈信息添加到日志消息中,包括实际的日志调用。请注意,这与通过指定exc_info
显示的堆栈信息不同:前者是从堆栈底部到当前线程中的日志调用的堆栈帧,而后者是有关已被调用的堆栈帧的信息在搜索异常处理程序时,在异常之后展开。您可以独立于
exc_info
指定stack_info
,例如仅显示您如何在代码中到达某个点,即使没有引发异常。堆栈帧打印在标题行之后,标题行显示:Stack (most recent call last):
这模仿了显示异常帧时使用的
Traceback (most recent call last):
。第三个可选关键字参数是
extra
可用于传递用于使用用户定义的属性为日志记录事件创建的LogRecord的__dict__的字典。然后可以根据您喜欢使用这些自定义属性。例如,它们可以合并到记录的消息中。例如:FORMAT = '%(asctime)s %(clientip)-15s %(user)-8s %(message)s' logging.basicConfig(format=FORMAT) d = {'clientip': '192.168.0.1', 'user': 'fbloggs'} logging.warning('Protocol problem: %s', 'connection reset', extra=d)
会打印出类似的东西:
2006-02-08 22:20:02,165 192.168.0.1 fbloggs Protocol problem: connection reset
extra
中传递的字典中的键不应与日志记录系统使用的键发生冲突。 (有关日志记录系统使用哪些 key 的更多信息,请参阅Formatter
文档。)如果您选择在记录的消息中使用这些属性,则需要格外小心。例如,在上面的示例中,
Formatter
已使用格式字符串设置,该字符串在 LogRecord 的属性字典中需要 ‘clientip’ and ‘user’ 如果缺少这些,则不会记录该消息,因为字符串格式异常会发生。所以在这种情况下,您总是需要使用这些键传递extra
字典。虽然这可能很烦人,但此函数旨在用于特殊情况,例如在许多上下文中执行相同代码的多线程服务器,并且出现的有趣条件取决于此上下文(例如远程客户端 IP 地址和经过身份验证的用户名,在上面的示例中)。在这种情况下,专门的
Formatter
可能会与特定的Handler
一起使用。在 3.2 版中更改:
stack_info
添加了参数。
相关用法
- Python logging.handlers.SocketHandler.makePickle用法及代码示例
- Python logging.Logger.debug用法及代码示例
- Python logging.LogRecord用法及代码示例
- Python PIL logical_and() and logical_or()用法及代码示例
- Python PIL logical_xor() and invert()用法及代码示例
- Python log10()用法及代码示例
- Python locals()用法及代码示例
- Python list remove()用法及代码示例
- Python len()用法及代码示例
- Python numpy string less_equal()用法及代码示例
- Python calendar leapdays()用法及代码示例
- Python ldexp()用法及代码示例
- Python list copy()用法及代码示例
- Python list转string用法及代码示例
- Python lzma.LZMACompressor()用法及代码示例
- Python Functools lru_cache()用法及代码示例
- Python linecache.getline()用法及代码示例
- Python scipy linalg.pinv2用法及代码示例
- Python list insert()用法及代码示例
- Python lists转XML用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 logging.debug。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。