scala Gatling -在simulation.log或控制台中记录请求主体

avwztpqn  于 5个月前  发布在  Scala
关注(0)|答案(6)|浏览(56)

我想看看我在我的脚本中发送的帖子的正文中有什么。事实上,我想看看请求,请求正文和响应。从文档和论坛中,我看到我可以取消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))


这为我提供了几乎所有的东西,除了请求体。我如何获得请求体?我正在尝试调试一个问题,我确信正在发送的主体不是我实际想要的。

w8ntj3qf

w8ntj3qf1#

将其添加到logback.xml中

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

字符串
这将为每个故障打印以下详细信息-
1.请求url
1.请求标头
1.请求主体
1.响应头

  1. Gatling会话数据
8fsztsew

8fsztsew2#

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <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>

</configuration>

字符串

sq1bmfud

sq1bmfud3#

取消注解,只留下TRACE和DEBUG注解帮助。

jckbn6z7

jckbn6z74#

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值非常有用,并且它是调试失败请求的方法。

oaxa6hgo

oaxa6hgo5#

只需选择根级别作为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>

字符串

dm7nw8vv

dm7nw8vv6#

如果您想在控制台输出中查看所有HTTP请求和响应以及Session内容的日志记录,您可以执行以下操作:
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>

相关问题