Answers:
默认情况下,QGIS不会将其日志消息写入文件。
如果您具有调试版本(通常在夜间进行),则将它们写入stdout。这意味着,如果您在Linux的终端上运行它,则将在其中看到消息。在Windows上,我认为有一个名为Debugging Tools for Windows的工具或类似工具可以拦截消息。
一种替代方法是使用一些最少的python脚本。每个消息都作为Qt信号发出。因此,我们可以连接到这些信号并将它们写入文件。只需将以下命令复制到您的python控制台
对于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
。
尽管这对解决特定问题没有帮助,但是如果您只想在运行时查看日志(即QGIS 不会崩溃),则可以启用“日志消息”面板。
在QGIS中,转到:视图>面板>日志消息
确保选中此框。