Gatling 2 - Logback Debug不输出JSON正文 - 内容类型Application / Json

时间:2015-01-14 15:32:40

标签: logback gatling

我正在使用Gatling 2,下面是我的logback.xml配置。

<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.ahc" level="TRACE" />
<!-- Uncomment for logging ONLY FAILED HTTP request and responses -->
<!--    <logger name="io.gatling.http.ahc" level="DEBUG" /> -->

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

在控制台中查看日志时,我看到了

Content-Length: [1381]
Keep-Alive: [timeout=5, max=98]
Connection: [Keep-Alive]
Content-Type: [application/json]

但是,我没有在调试信息中看到任何JSON主体。我攻击了我的代码并将Content-Typeapplication/json更改为text/html并收到以下内容:

Connection: [Keep-Alive]
Content-Type: [text/html]
Content-Encoding: [gzip]
Content-Length: [1381]

body=
{"items":[data_here]}}

有什么方法可以配置gatling或logback来显示这个JSON主体吗?

2 个答案:

答案 0 :(得分:0)

有些东西不像你一样,作为一个初学者,期待它,并不一定意味着它的奇怪。这种行为有很好的理由。

这里,它不会在不需要时将块保存在存储器中,组装和解码。 Reading the documentation通常有帮助。

然后,您还可以在&#34; io.gatling.http&#34;上启用DEBUG日志记录。记录仪。 仅仅为了记录,我填写issue来改善这一点。

答案 1 :(得分:-1)

好。加特林很奇怪。

它会自动记录text/html的正文,但不会记录application/json,除非它认为有理由记录它!

要输出json正文,我将.check(bodyString.exists)添加到我的http请求中,并在日志文件中正确显示。

编辑:

Properly fixed in this commit

为我的logback.xml

添加了额外的行
<!-- Uncomment for logging ALL HTTP request and responses -->
        <logger name="io.gatling.http.ahc" level="TRACE" />
        <logger name="io.gatling.http.response" level="TRACE" />
<!-- Uncomment for logging ONLY FAILED HTTP request and responses -->
<!--    <logger name="io.gatling.http.ahc" level="DEBUG" /> -->
<!--    <logger name="io.gatling.http.response" level="DEBUG" /> -->