Python如何記錄呼叫堆疊日誌實作方法?

伊谢尔伦
發布: 2017-06-28 13:48:49
原創
1556 人瀏覽過

這篇文章主要介紹了Python記錄詳細調用堆疊日誌的方法,涉及Python調用堆疊日誌的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

#本文實例講述了Python記錄詳細呼叫堆疊日誌的方法。分享給大家供大家參考。具體實作方法如下:

import sys
import os
def detailtrace(info):
  retStr = ""
  curindex=0
  f = sys._getframe()
  f = f.f_back    # first frame is detailtrace, ignore it
  while hasattr(f, "f_code"):
    co = f.f_code
    retStr = "%s(%s:%s)->"%(os.path.basename(co.co_filename),
         co.co_name,
         f.f_lineno) + retStr
    f = f.f_back
  print retStr+info
def foo():
  detailtrace("hello world")
def bar():
  foo()
def main():
  bar()
if name == "main":
  main()
登入後複製

輸出:

aaa1.py(<module>:27)->aaa1.py(main:24)- >aaa1.py(bar:21)->aaa1.py(foo:18)->hello world

以上是Python如何記錄呼叫堆疊日誌實作方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!