Gatling - 在simulation.log或console

时间:2015-10-23 01:46:40

标签: scala gatling

我想看看我在剧本中发送的帖子正文中的内容。事实上,我希望看到请求,请求正文和响应。从查看文档和论坛,我看到我可以取消注释logback-test.xml中的一行,如下所示:

<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
    <resetJUL>true</resetJUL>
</contextListener>

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
        <immediateFlush>false</immediateFlush>
    </encoder>
</appender>

<!-- Uncomment for logging ALL HTTP request and responses -->
<logger name="io.gatling.http" level="TRACE" /> 
<!-- Uncomment for logging ONLY FAILED HTTP request and responses -->
    <!--<logger name="io.gatling.http" level="DEBUG" /> --> 

<root level="DEBUG">
    <appender-ref ref="CONSOLE" />
</root>

simulation.log文件和控制台向我显示请求,响应等。经过一些谷歌搜索和阅读文档后,我看到我可以这样做 -

.extraInfoExtractor(extraInfo => List(extraInfo.request, extraInfo.response,extraInfo.session))

这为我提供了除请求主体以外的所有内容。我如何获得请求正文?我正在尝试调试一个问题,我确信发送的正文不是我真正想要的。

6 个答案:

答案 0 :(得分:12)

将此添加到您的logback.xml

<logger name="io.gatling.http.ahc" level="DEBUG" />

这将打印每个故障的以下详细信息 -

  1. 请求网址
  2. 请求标题
  3. 申请正文
  4. 回复标题
  5. Gatling会话数据

答案 1 :(得分:1)

仅取消评论TRACE并留下DEBUG评论有帮助。

答案 2 :(得分:0)

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
        <immediateFlush>false</immediateFlush>
    </encoder>
</appender>

<timestamp key="timestamp" datePattern="yyyy-MM-dd'T'HH:mm:ss"/>

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>logs/test_${timestamp}.log</file>
    <append>true</append>
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
    </encoder>
</appender>

<!-- TRACE logs all HTTP requests/response, DEBUG logs only failed HTTP requests/response-->
<logger name="io.gatling.http.engine.response" level="TRACE" />

<root level="INFO">
    <appender-ref ref="FILE" />
    <appender-ref ref="CONSOLE"/>
</root>

答案 3 :(得分:0)

只需将根级别选择为DEBUG

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
    </encoder>
    <immediateFlush>false</immediateFlush>
</appender>

<logger name="io.gatling.http.engine.response" level="DEBUG" />

<root level="DEBUG">
    <appender-ref ref="CONSOLE" />
</root>

答案 4 :(得分:0)

Gatling 3.x的更新,logback.xml中的注释很容易解释

<!-- uncomment and set to DEBUG to log all failing HTTP requests -->
<!-- uncomment and set to TRACE to log all HTTP requests -->
<!-- <logger name="io.gatling.http.engine.response" level="TRACE" />-->

取消注释上面的配置后,我们可以在日志或IDE的控制台中获取请求url,请求标头,响应等。验证请求URL或正文中使用的动态Feeder值非常有用,这是调试失败请求的一种方式。

答案 5 :(得分:0)

如果您想在控制台输出中查看所有 HTTP 请求和响应以及会话内容的日志记录,您可以执行以下操作:

  1. 在记录器文件中添加或取消注释以下行:
<logger name="io.gatling.http.ahc" level="TRACE" />
<logger name="io.gatling.http.response" level="TRACE" />
  1. 将根级别设置为 TRACE
<root level="TRACE">
    <appender-ref ref="CONSOLE" />
</root>