旧的日志消息是否写入磁盘的某个地方?
#1 楼
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
。#2 楼
尽管这对解决特定问题没有帮助,但是如果您只想在运行时查看日志(即QGIS不会崩溃),则可以启用“日志消息”面板。在QGIS中,请转到:查看>面板>日志消息
确保选中此框。
评论
请再读一次这个问题。
– Stefan
2015年10月6日在10:01
如果您输了几对,如何返回日志消息面板中的选项卡?
–user32882
18-09-4在8:52
+1,因为这是正确的答案。但是,关于Stackexchange社区的评论与众不同。
–Grzegorz Oledzki
19 Mar 6 '19 at 20:42
@GrzegorzOledzki不,该问题明确询问了持久日志。日志消息仅显示该运行时期间的消息。
–inc42
20 Jan 5 '20 at 13:42
#3 楼
处理=>选项您需要检查以下内容:“运行算法后保持对话框打开”
之后,您可以复制过去的错误日志
评论
函数定义的末尾与Python控制台的最后一行之间应该有一个空白行,以便对复制/粘贴感到满意
–拉斐尔
17年1月13日在17:29