使用maxEntitySize为0来实例化Jersey的LoggingFeature

时间:2017-04-14 03:03:02

标签: java logging jersey dropwizard

我使用Dropwizard 0.9.0和Jersey来启动RESTful Web服务。我使用LoggingFeature类来记录请求和响应。请注意,我也在调用constructor that accepts the maxEntitySize parameter

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

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

1 个答案:

答案 0 :(得分: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...

请注意,最后一行包含实际响应,并且只打印10个字节

如果指定0或负值,则不会打印响应 -

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

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