Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 执行STAX文件时将日志消息转储到控制台_Python_Xml_Automation - Fatal编程技术网

Python 执行STAX文件时将日志消息转储到控制台

Python 执行STAX文件时将日志消息转储到控制台,python,xml,automation,Python,Xml,Automation,我有一个从命令行执行的XML文件(STAX) [root@local ~]# staf local STAX EXECUTE FILE "/root/test2.xml" ARGS "{'command':'ls'}" WAIT RETURNRESULT 并获得以下输出 Response -------- { Job ID : 57 Start Date-Time: 20130405-18:27:13 End Date-Time : 20130405-18:27

我有一个从命令行执行的XML文件(STAX)

[root@local ~]# staf local STAX EXECUTE FILE "/root/test2.xml" 
ARGS "{'command':'ls'}" WAIT RETURNRESULT
并获得以下输出

Response
--------
{
  Job ID         : 57
  Start Date-Time: 20130405-18:27:13
  End Date-Time  : 20130405-18:27:13
  Status         : Normal
  Result         : 0
  Job Log Errors : []
  Testcase Totals: {
    Tests : 0
    Passes: 0
    Fails : 0
  }
}
脚本内容

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "stax.dtd">
<stax>
<defaultcall function="runCommand"/>

<function name="runCommand">
    <function-list-args>
            <function-required-arg name="command"/>
    </function-list-args>

    <try>
           <sequence>

            <script>print("This");</script>
            <message>'%s  %s:  is a:  %s' % (STAXCurrentTestcase, STAXCurrentFunction, command)</message>
            <log>'test'</log>

            <return>0</return>
        </sequence>

        <catch exception="'eTerminateFunction'" var="eInfo">
            <sequence>
                    <log level="'fail'">'%s  %s:  Terminating function   Error: %s' % (STAXCurrentTestcase, STAXCurrentFunction, eInfo)</log>
                    <tcstatus result="'fail'">eInfo</tcstatus>
                    <return>1</return>
            </sequence>
        </catch>
    </try>
</function>
</stax>

打印(“本”);
“%s%s:是一个:%s%”(StatxCurrentTestCase、StatxCurrentFunction、命令)
“测试”
0
“%s%s:终止函数错误:%s%”(StatxCurrentTestCase、StatxCurrentFunction、eInfo)
电子信息
1.
为什么日志记录在执行期间或执行之后都不会转储到控制台
据我所知,对于
或python
打印(“This”)

STAX EXECUTE WAIT RETURNRESULT请求在结果中返回它应该返回的内容,如中“EXECUTE”小节“Results”小节所述。它将返回有关作业的更多摘要类型信息以及记录在STAX作业日志中的任何错误

STAX作业中的元素在STAX作业用户日志中记录消息,如中的“日志:在STAX作业用户日志中记录消息”部分所述。本节介绍如何查询STAX作业用户日志以查看已登录到STAX作业的消息的更多信息,请参阅“STAX日志记录”部分的小节

或者,要在STAX服务计算机上查询作业ID为1的STAX作业的STAX作业用户日志,可以指定:

注意:运行STAX作业时,会创建一个STAX作业日志。这与STAX作业用户日志不同。仅当STAX作业在其中记录数据时(例如,通过元素),才会创建STAX作业用户日志

STAX作业中的元素向STAX监视器发送消息,如《STAX用户指南》中的“消息:向STAX监视器发送消息”一节所述。要查看发送到STAX监视器的消息,需要通过STAX监视器运行作业。运行STAX作业时,这些消息将显示在“消息”面板中

至于元素中“print”语句的输出的位置,这由PYTHONOUTPUT参数控制,该参数可在注册STAX服务时指定,或通过STAX SET PYTHONOUTPUT请求更改,或在执行STAX作业时为特定STAX作业重写(通过在STAX执行请求上或通过STAX监视器指定PYTHONOUTPUT选项)。这将在《STAX用户指南》的第节和“执行”一节中讨论

默认情况下,将Python打印输出记录在STAX作业用户日志中。因此,如果使用默认设置,“打印”输出将记录到STAX作业用户日志中(与记录元素中消息的位置相同),您可以通过查询STAX作业用户日志来查看它,正如我前面所说的

  • PYTHONOUTPUT指定应重定向Python stdout/stderr的位置(例如,如果在STAX作业的元素中使用print语句)。有效值如下(不区分大小写):
  • “JobUserLog”表示将Python输出记录在STAX作业用户日志中。这是默认值
  • “Message”表示将Python输出发送到STAX监视器并在Messages面板中显示
  • “JobUserLogAndMsg”表示将Python输出记录在STAX作业用户日志中,并将其发送到STAX监视器并在消息面板中显示
  • “JVMLog”表示使用以下格式在JVM日志中为STAX服务写入Python输出,以便您知道哪个STAX作业产生了输出以及输出的时间: [作业ID::
STAF local LOG QUERY MACHINE {STAF/Config/MachineNickname} LOGNAME STAX_Job_1_User