Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
Logging 如何仅在失败的REST API请求上记录所有详细信息(调试级别)?_Logging_Karate - Fatal编程技术网

Logging 如何仅在失败的REST API请求上记录所有详细信息(调试级别)?

Logging 如何仅在失败的REST API请求上记录所有详细信息(调试级别)?,logging,karate,Logging,Karate,每次执行功能测试后,如果使用logback test.xml中的以下行为所有请求设置了if,我会获得超过1GB的日志: <logger name="com.intuit.karate" level="DEBUG"/> <logger name="com.intuit.karate" level="INFO"/> 是否可以仅在失败的REST API请求上配置调试日志级别? 实现这一目标的正确方法是什么 更新: 由于下面的回答,我在logbacktest.xml中得到了I

每次执行功能测试后,如果使用
logback test.xml
中的以下行为所有请求设置了if,我会获得超过1GB的日志:

<logger name="com.intuit.karate" level="DEBUG"/>
<logger name="com.intuit.karate" level="INFO"/>
是否可以仅在失败的REST API请求上配置调试日志级别? 实现这一目标的正确方法是什么

更新: 由于下面的回答,我在
logbacktest.xml
中得到了
INFO
级别:

<logger name="com.intuit.karate" level="DEBUG"/>
<logger name="com.intuit.karate" level="INFO"/>
更新2:发现由于代码重用(子调用)而存在一些限制。 在以下情况下,钩子不会记录详细信息:

  Scenario: CRUD for a machine group.
    When call read('this:create-machinegroup.feature')
    Then call read('this:retrieve-machinegroup.feature@last-created')
    And call read('this:update-machinegroup.feature')
    And call read('this:delete-machinegroup.feature@single')
    And call read('this:retrieve-machinegroup.feature@404')


如果
karate.info.errorMessage
不为空,则可以使用全局
afterScenario()
hook来记录
karate.prevRequest
响应


@beloyar不,你实际上可以在
karate config.js
中执行此操作,请阅读文档此方法的唯一限制是我的代码重用。。。如果我用参数调用子场景,那么这个钩子不会记录任何细节。。。看来,我必须重构我所有的代码重用。。。为了让这个钩子工作,破坏了测试的可读性,这是非常令人难过的。。。