蟒蛇。如何重定向Maya历史记录?

时间:2016-10-17 09:53:14

标签: python debugging logging output maya

历史记录选项卡中打印的所有Maya脚本日志和错误。这是从所有命令和python脚本输出的。

为了更好地调试脚本,我希望所有日志都发送到服务器上的某个地方。如何拦截并将输出发送到您的脚本。然后我将完成所有必要的操作,输出可以是远程控制台,也可以是服务器上文件中的某个位置。

拦截输出的任务。怎么做?

enter image description here

2 个答案:

答案 0 :(得分:4)

您还可以使用找到here的Maya scriptEditorInfo命令重定向脚本编辑器历史记录:

这种用法的示例如下:

import maya.cmds as cmds
outfile = r'/path/to/your/outfile.txt'

# begin output capture
cmds.scriptEditorInfo(historyFilename=outfile, writeHistory=True)

# stop output capture
cmds.scriptEditorInfo(writeHistory=False)

您还可以通过cmdFileOutput的注册表项以交互方式调用或启用/禁用MAYA_CMD_FILE_OUTPUT,文档here

最后,您可以使用-log标志扩展Maya,将输出窗口文本写入另一个位置。但是,有了这个,你就不会得到脚本编辑器输出,但考虑到你想要记录的内容,可能是你想要的所有内容。

答案 1 :(得分:3)

听起来你需要一个像Sentry这样的实时错误跟踪器 ,在Sentry中记录完全由此原因制作的模块,通过更丰富的错误/调试处理来沟通服务器/客户端logging

这里是Rerouting Maya脚本编辑器到终端的示例