2017-04-14 63 views
1

我使用了带有Jersey的Dropwizard 0.9.0来创建一个REST风格的Web服务。我正在使用LoggingFeature类来记录请求和响应。请注意,我也打电话给constructor that accepts the maxEntitySize parameter使用maxEntitySize为0来实例化Jersey的LoggingFeature

在该Javadoc中,它指出maxEntitySize参数的负数被视为0。但是,maxEntitySize0值实际上表示什么值?构造函数的Javadoc没有说明它的含义,也没有说明Jersey's logging chapter中的Max entity size的描述。谷歌对此也同样含糊。

0的值是否与将其设置为值LOGGING_FEATURE_MAX_ENTITY_SIZE或值DEFAULT_MAX_ENTITY_SIZE或其他值完全相同?

回答

3

maxEntitySize的用途是指定要在日志中打印多少字节的响应(如果是客户端)。

例如,如果你指定它10,那么将只打印10个字节的响应,然后打印...更多...

下面是一个例子 -

Apr 14, 2017 1:04:27 PM org.glassfish.jersey.logging.LoggingInterceptor log 
INFO: 1 * Client response received on thread main 
1 < 200 
1 < Content-Length: 23 
1 < Content-Type: application/json 
1 < Date: Fri, 14 Apr 2017 04:04:27 GMT 
{"id":101,...more... 

注意最后一行包含实际响应和如果指定0或负值只会打印10个字节

,那么它不会打印响应 -

Apr 14, 2017 1:06:08 PM org.glassfish.jersey.logging.LoggingInterceptor log 
INFO: 1 * Client response received on thread main 
1 < 200 
1 < Content-Length: 23 
1 < Content-Type: application/json 
1 < Date: Fri, 14 Apr 2017 04:06:08 GMT 
...more... 

请注意,最后一行仅包含...更多...。根本没有回应数据。

相关问题