span8
span4
在Python脚本中向FME日志文件写入消息可能比较棘手。如果您使用简单的打印“消息”,该行将在log窗口中打印,但不会保存在日志文件中。
请注意:本文已经针对FME 2012进行了更新,并且在此基础上,我们将Python FME对象API改为fmeobjects而不是pyfme
写入日志文件的过程因运行脚本的位置不同而不同。
在PythonCaller(或PythonCreator)转换器中,使用FMELogFile对象将消息添加到日志文件中,该对象是fmeobjects的一部分。你需要创建一个日志对象:
记录器= fmeobjects.FMELogFile ()
然后你需要发送信息到日志:
记录器。logMessageString("Hello I am Logging Now")
在关机脚本中进行日志记录比较复杂。在工作区的生命周期的这一点上,工作区的连接已经从fme进程断开,因此FMELogfile对象不再工作。相反,您需要使用FME_LogFileName参数获取日志文件在磁盘上的位置,并使用Python的内置文件功能将行添加到日志文件中,例如:
日志记录器=打开(FME_LogFileName,'a')日志记录器。写(“哇——这个消息会被写进日志文件”)log .close()
注意:以这种方式记录的行不会出现在workbench中的log窗口中,而是会附加到磁盘上日志文件的末尾。如果你想要什么东西出现在两个地方,你需要把它写入日志文件,就像这样:
打印“哇——这个消息只会出现在日志窗口”
在附带的工作空间中可以找到登录到PythonCaller和shutdown脚本的例子。
注意:如果您在FME服务器上运行Python脚本,解释器产生的任何错误消息都将写入Process Monitor引擎日志文件,而不是工作空间日志。这个文件可以在
有关在FME中使用Python的完整概述,请参阅本文Python和FME基础
©2020安全亚搏在线软件公司|法律