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