>  기사  >  백엔드 개발  >  Python에서 호출 스택 로그 구현 방법을 기록하는 방법은 무엇입니까?

Python에서 호출 스택 로그 구현 방법을 기록하는 방법은 무엇입니까?

伊谢尔伦
伊谢尔伦원래의
2017-06-28 13:48:491598검색

이 글에서는 Python자세한 호출 스택 로그를 기록하는 방법을 주로 소개합니다. 여기에는 Python 호출 스택 로그와 관련된 기술이 포함되어 있습니다. 필요한 친구는 이를 참고할 수 있습니다.

이 글의 예는 다음과 같습니다. Python Log 메소드에서 자세한 호출 스택을 기록하는 방법. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.

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으로 문의하세요.