QGIS domyślnie nie zapisuje komunikatów do pliku.
Jeśli masz wersję do debugowania (zwykle są to nightlies), są one zapisywane na standardowe wyjście. Oznacza to, że jeśli uruchomisz go w terminalu na systemie Linux, zobaczysz tam wiadomości. W systemie Windows myślę, że istnieje narzędzie o nazwie Narzędzia do debugowania dla systemu Windows lub podobne, które może przechwytywać wiadomości.
Alternatywą jest użycie minimalnego skryptu w języku Python. Każda wiadomość jest emitowana jako sygnał Qt. Dlatego możemy połączyć się z tymi sygnałami i zapisać je w pliku. Po prostu skopiuj następujące polecenie do konsoli Pythona
W przypadku 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)
Lub w przypadku 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)
Po uruchomieniu tego kodu dane wyjściowe zostaną zapisane /tmp/qgis.log
.