2017-04-14 29 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... 

請注意,最後一行僅包含...更多...。根本沒有迴應數據。

相關問題