From c7c252cda04eab5ecfa6c25987d4a37669f3758a Mon Sep 17 00:00:00 2001 From: Matan <51418643+matan84@users.noreply.github.com> Date: Wed, 4 Sep 2024 16:26:57 +0300 Subject: [PATCH] [Core] Changed logs to not have info by default (#982) # Description What - Changed logs for "Request for x" to be leveled by if its docs or not Why - Have verbosity when needed How - Added if and logged by condition ## Type of change Please leave one option from the following and delete the rest: - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] New Integration (non-breaking change which adds a new integration) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [x] Non-breaking change (fix of existing functionality that will not change current behavior) - [ ] Documentation (added/updated documentation)

All tests should be run against the port production environment(using a testing org).

### Core testing checklist - [ ] Integration able to create all default resources from scratch - [ ] Resync finishes successfully - [ ] Resync able to create entities - [ ] Resync able to update entities - [ ] Resync able to detect and delete entities - [ ] Scheduled resync able to abort existing resync and start a new one - [ ] Tested with at least 2 integrations from scratch - [ ] Tested with Kafka and Polling event listeners - [ ] Tested deletion of entities that don't pass the selector ### Integration testing checklist - [ ] Integration able to create all default resources from scratch - [ ] Resync able to create entities - [ ] Resync able to update entities - [ ] Resync able to detect and delete entities - [ ] Resync finishes successfully - [ ] If new resource kind is added or updated in the integration, add example raw data, mapping and expected result to the `examples` folder in the integration directory. - [ ] If resource kind is updated, run the integration with the example data and check if the expected result is achieved - [ ] If new resource kind is added or updated, validate that live-events for that resource are working as expected - [ ] Docs PR link [here](#) ### Preflight checklist - [ ] Handled rate limiting - [ ] Handled pagination - [ ] Implemented the code in async - [ ] Support Multi account ## Screenshots Include screenshots from your environment showing how the resources of the integration will look. ## API Documentation Provide links to the API documentation used for this integration. --- port_ocean/middlewares.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/port_ocean/middlewares.py b/port_ocean/middlewares.py index cf7c46a078..8093dccc47 100644 --- a/port_ocean/middlewares.py +++ b/port_ocean/middlewares.py @@ -52,7 +52,14 @@ async def request_handler( request_id = generate_uuid() with logger.contextualize(request_id=request_id): - logger.bind(url=str(request.url), method=request.method).info("Request started") + log_level = ( + "DEBUG" + if request.url.path == "/docs" or request.url.path == "/openapi.json" + else "INFO" + ) + logger.bind(url=str(request.url), method=request.method).log( + log_level, f"Request to {request.url.path} started" + ) response = await _handle_silently(call_next, request) end_time = get_time(seconds_precision=False) @@ -61,5 +68,6 @@ async def request_handler( response.headers["X-Process-Time"] = str(time_elapsed) logger.bind( time_elapsed=time_elapsed, response_status=response.status_code - ).info("Request ended") + ).log(log_level, f"Request to {request.url.path} ended") + return response