python列印日誌
發布時間: 2025-08-25 19:37:00
① python列印日誌,extra是什麼意思
extra是用戶自定義的dict. 這些key/value在格式化的時候可以直接引用。
extra可以用來傳遞額外的日誌信息,尤其是上下文信息。
例如:
FORMAT='%(asctime)-15s%(clientip)s%(user)-8s%(message)s'
logging.basicConfig(format=FORMAT)
d={'clientip':'192.168.0.1','user':'fbloggs'}
logger=logging.getLogger('tcpserver')
logger.warning('Protocolproblem:%s','connectionreset',extra=d)
這里除了protocol錯誤描述外,還附加了客戶IP和用戶名信息。
如果配置了一些非文本格式的handler,結構化的數據會更容易存儲和查詢。
例如,Sentry的logging handler允許用戶用extra.data來傳遞任意信息,並自動記錄到web界面。
logger.error('Therewassomecrazyerror',exc_info=True,extra={
'culprit':'my.view.name',
'fingerprint':[...],
'data':{
#
'username':request.user.username,
}
})
② 在python中如何獲取到adb logcat信息,並輸出到文件中
在Python中獲取並輸出adb logcat信息至文件,有助於實時監控monkey測試過程,便於快速定位問題及提取關鍵日誌。通過subprocess模塊實現這一功能。
執行命令:ps=subprocess.Popen('adb logcat -v time',stdin=subprocess.PIPE,stdout=subprocess.PIPE,shell=True)。
通過循環遍歷ps.stdout,即可讀取到日誌信息。
具體操作如下:
for line in ps.stdout:
# 列印出日誌結果或將其輸出到文件中
這一步驟完成後,即可獲取並輸出adb logcat信息至文件,實現高效日誌管理與問題定位。
熱點內容