Theo mặc định, QGIS không ghi thông điệp tường trình của mình vào một tệp.
Nếu bạn có bản dựng gỡ lỗi (thường là nightlies), chúng sẽ được ghi vào thiết bị xuất chuẩn. Điều đó có nghĩa là nếu bạn chạy nó trong một thiết bị đầu cuối trên linux, bạn sẽ thấy các thông báo ở đó. Trên Windows tôi nghĩ có một công cụ gọi là Công cụ gỡ lỗi cho Windows hoặc tương tự có thể chặn các tin nhắn.
Một cách khác là sử dụng một số kịch bản python tối thiểu. Mỗi tin nhắn được phát ra dưới dạng tín hiệu Qt. Do đó chúng ta có thể kết nối với các tín hiệu này và ghi chúng vào một tệp. Chỉ cần sao chép lệnh sau vào bảng điều khiển python của bạn
Đối với 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)
Hoặc cho 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)
Khi bạn chạy mã này, đầu ra sẽ được ghi vào /tmp/qgis.log
.