用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。