QGIS ไม่ได้เขียนข้อความบันทึกลงในไฟล์โดยค่าเริ่มต้น
หากคุณมีการสร้างการแก้ปัญหา (ปกติคือ nightlies) พวกเขาเขียนไปยัง stdout นั่นหมายความว่าหากคุณรันใน terminal บน linux คุณจะเห็นข้อความที่นั่น บน Windows ฉันคิดว่ามีเครื่องมือที่เรียกว่า Debugging Tools สำหรับ Windows หรือคล้ายกันที่สามารถดักจับข้อความ
อีกทางเลือกหนึ่งคือใช้สคริปต์หลามน้อยที่สุด ทุกข้อความถูกปล่อยออกมาเป็นสัญญาณ Qt ดังนั้นเราสามารถเชื่อมต่อกับสัญญาณเหล่านี้และเขียนลงในไฟล์ เพียงคัดลอกคำสั่งต่อไปนี้ไปยังคอนโซลหลามของคุณ
สำหรับ QGIS 3:
filename = '/tmp/qgis.log'
def write_log_message(message, tag, level):
with open(filename, 'a') as logfile:
logfile.write('{tag}({level}): {message}'.format(tag=tag, level=level, message=message))
QgsApplication.messageLog().messageReceived.connect(write_log_message)
หรือสำหรับ QGIS 2:
filename = '/tmp/qgis.log'
def write_log_message(message, tag, level):
with open(filename, 'a') as logfile:
logfile.write('{tag}({level}): {message}'.format(tag=tag, level=level, message=message))
QgsMessageLog.instance().messageReceived.connect(write_log_message)
/tmp/qgis.log
เมื่อคุณเรียกใช้รหัสนี้การส่งออกจะถูกเขียนไป