O QGIS não grava suas mensagens de log em um arquivo por padrão.
Se você tem uma compilação de depuração (as diárias são normalmente), elas são gravadas no stdout. Isso significa que, se você executá-lo em um terminal no linux, verá as mensagens lá. No Windows, acho que existe uma ferramenta chamada Debugging Tools for Windows ou similar que pode interceptar as mensagens.
Uma alternativa é usar alguns scripts python mínimos. Toda mensagem é emitida como um sinal Qt. Portanto, podemos nos conectar a esses sinais e gravá-los em um arquivo. Simplesmente copie o seguinte comando no seu console python
Para o 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)
Ou para o 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)
Quando você executa esse código, a saída será gravada em /tmp/qgis.log
.