QGIS no escribe sus mensajes de registro en un archivo de forma predeterminada.
Si tiene una compilación de depuración (normalmente los nightlies son), se escriben en stdout. Eso significa que si lo ejecuta en un terminal en Linux, verá los mensajes allí. En Windows, creo que hay una herramienta llamada Herramientas de depuración para Windows o similar que puede interceptar los mensajes.
Una alternativa es utilizar algunas secuencias de comandos de Python mínimas. Cada mensaje se emite como una señal Qt. Por lo tanto, podemos conectarnos a estas señales y escribirlas en un archivo. Simplemente copie el siguiente comando a su consola Python
Para 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)
O para 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)
Cuando ejecute este código, se escribirá en la salida /tmp/qgis.log
.