首頁  >  文章  >  後端開發  >  Python如何記錄呼叫堆疊日誌實作方法?

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

伊谢尔伦
伊谢尔伦原創
2017-06-28 13:48:491537瀏覽

這篇文章主要介紹了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(dea25ee49c3f91dfee5a2ed5d0bddd9a:27)->aaa1.py(main:24)- >aaa1.py(bar:21)->aaa1.py(foo:18)->hello world

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn