From ac8c340443978ff020a20dc72b6cfd0917695006 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 29 Sep 2024 06:39:37 -0500 Subject: [PATCH] Guard expensive debug logging with isEnabledFor (#358) Note that update_query rebuilds the whole query string every time so it would be a bit cleaner to call it once, however its probably not worth optimizing if its only going to be called when debug is on now --- src/synology_dsm/synology_dsm.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/synology_dsm/synology_dsm.py b/src/synology_dsm/synology_dsm.py index c02ef33..adc1e7f 100644 --- a/src/synology_dsm/synology_dsm.py +++ b/src/synology_dsm/synology_dsm.py @@ -363,14 +363,15 @@ async def _execute_request( url_encoded, timeout=self._aiohttp_timeout, **kwargs ) - # mask sesitiv parameters - response_url = response.url # pylint: disable=E0606 - for param in SENSITIV_PARAMS: - if params is not None and params.get(param): - response_url = response_url.update_query({param: "*********"}) - self._debuglog("Request url: " + str(response_url)) - self._debuglog("Response status_code: " + str(response.status)) - self._debuglog("Response headers: " + str(dict(response.headers))) + # mask sesitive parameters + if _LOGGER.isEnabledFor(logging.DEBUG): + response_url = response.url # pylint: disable=E0606 + for param in SENSITIV_PARAMS: + if params is not None and params.get(param): + response_url = response_url.update_query({param: "*********"}) + self._debuglog("Request url: " + str(response_url)) + self._debuglog("Response status_code: " + str(response.status)) + self._debuglog("Response headers: " + str(dict(response.headers))) if response.status == 200: # We got a DSM response