ฉันพยายามเรียนรู้วิธีการทำงานของแอปพลิเคชัน และสำหรับสิ่งนี้ฉันกำลังแทรกคำสั่งดีบักเป็นบรรทัดแรกของเนื้อหาของแต่ละฟังก์ชันโดยมีเป้าหมายในการบันทึกชื่อของฟังก์ชันตลอดจนหมายเลขบรรทัด (ภายในรหัส) ที่ฉันส่งข้อความไปยังเอาต์พุตบันทึก ในที่สุดเนื่องจากแอปพลิเคชันนี้ประกอบด้วยไฟล์จำนวนมากฉันจึงต้องการสร้างไฟล์บันทึกไฟล์เดียวเพื่อให้เข้าใจขั้นตอนการควบคุมของแอปพลิเคชันได้ดีขึ้น
นี่คือสิ่งที่ฉันรู้:
สำหรับการรับชื่อฟังก์ชันฉันสามารถใช้ได้
function_name.__name__แต่ฉันไม่ต้องการใช้ function_name (เพื่อให้ฉันสามารถคัดลอกและวางข้อมูลทั่วไปLog.info("Message")ในเนื้อความของฟังก์ชันทั้งหมดได้อย่างรวดเร็ว) ฉันรู้ว่าสิ่งนี้สามารถทำได้ใน C โดยใช้__func__มาโคร แต่ฉันไม่แน่ใจเกี่ยวกับ pythonสำหรับการรับชื่อไฟล์และหมายเลขบรรทัดผมได้เห็นว่า (และผมเชื่อว่า) ใบสมัครของฉันคือการใช้ Python
locals()ฟังก์ชั่น แต่ในไวยากรณ์ว่าผมไม่ได้ตระหนักถึงความสมบูรณ์เช่น:options = "LOG.debug('%(flag)s : %(flag_get)s' % locals())และฉันพยายามมันใช้เหมือนซึ่งเป็นผู้ผลิตบางอย่างเช่นLOG.info("My message %s" % locals()){'self': <__main__.Class_name object at 0x22f8cd0>}โปรดป้อนข้อมูลใด ๆ เกี่ยวกับเรื่องนี้ฉันรู้วิธีใช้การบันทึกและเพิ่มตัวจัดการเพื่อเข้าสู่ระบบไฟล์ แต่ฉันไม่แน่ใจว่าไฟล์เดียวสามารถใช้บันทึกข้อความบันทึกทั้งหมดตามลำดับการเรียกฟังก์ชันในโปรเจ็กต์ได้อย่างถูกต้องหรือไม่
ฉันขอขอบคุณอย่างยิ่งสำหรับความช่วยเหลือใด ๆ
ขอบคุณ!
import pdb; pdb.set_trace()จากนั้นทำตามขั้นตอนผ่านโค้ดแบบโต้ตอบ ซึ่งอาจช่วยคุณติดตามโฟลว์โปรแกรม