[ 
https://issues.apache.org/jira/browse/CAMEL-26891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on CAMEL-26891 started by Andrea Cosentino.
------------------------------------------------
> camel-whatsapp - do not log the response body at INFO
> -----------------------------------------------------
>
>                 Key: CAMEL-26891
>                 URL: https://issues.apache.org/jira/browse/CAMEL-26891
>             Project: Camel
>          Issue Type: Bug
>            Reporter: Andrea Cosentino
>            Assignee: Andrea Cosentino
>            Priority: Major
>             Fix For: 4.24.0
>
>
> The WhatsApp producer logs the full REST response body at INFO on every 
> completed response, before it inspects the status to decide success or error. 
> Routine response bodies do not need to be in normal (INFO) application logs 
> and make that output unnecessarily verbose.
> *Today.* In {{WhatsAppServiceRestAPIAdapter}}, once the HTTP response 
> completes the adapter calls {{LOG.info(...)}} with both the status code and 
> {{response.body()}}, and only afterwards checks whether the status is a 
> success. The entire response body is therefore written to the log at INFO for 
> every request. This is also inconsistent with the outbound side: 
> {{WhatsAppProducer}} already logs the message being sent at DEBUG, not INFO.
> *After the change.* The INFO line logs only the HTTP status code; 
> {{response.body()}} is no longer included at INFO. If a body-level line is 
> wanted for diagnostics, it is logged at DEBUG instead, consistent with how 
> the outbound message is already logged.
> *Classes involved.*
> * 
> {{org.apache.camel.component.whatsapp.service.WhatsAppServiceRestAPIAdapter}}:
>  the response-completion handler that currently logs the body at INFO.
> * {{org.apache.camel.component.whatsapp.WhatsAppProducer}}: referenced only 
> for the existing DEBUG logging of the outbound message.
> *Code-level change.* Drop {{response.body()}} from the INFO statement so it 
> logs the status code only, and move any body-level logging to DEBUG. This 
> touches a log statement and a test only; there is no {{@UriParam}} or 
> metadata change, so no catalog or DSL regeneration is required.
> *Tests.* Add a focused log-capture test (a logback or log4j ListAppender on 
> {{WhatsAppServiceRestAPIAdapter}}) that simulates a completed response and 
> asserts that a sentinel value present in the response body does not appear in 
> INFO-level output, while the status code still does. Use AssertJ, following 
> the existing camel-whatsapp tests; the new test class and methods are 
> package-private.
> _AI-generated by Codex on behalf of oscerd._



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to