From 709a8b7a58ac3079028333fb7881ac18ed9f6717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20H=C3=B6rrle?= <7945681+CM000n@users.noreply.github.com> Date: Tue, 26 Mar 2024 14:35:01 +0100 Subject: [PATCH] Enhancement: Revert to default logging (#336) * revert and delete central log config * revert and delete central log config * fix imports * use lazy logging --- mytoyota/api.py | 1 - mytoyota/client.py | 1 - mytoyota/controller.py | 3 +-- mytoyota/models/vehicle.py | 6 +---- mytoyota/utils/conversions.py | 10 +++----- mytoyota/utils/{logging => }/log_utils.py | 0 mytoyota/utils/logging/log_config.yaml | 31 ----------------------- mytoyota/utils/logging/log_filters.py | 24 ------------------ mytoyota/utils/logging/logging_config.py | 13 ---------- simple_client_example.py | 3 --- tests/unit_tests/test_utils/test_logs.py | 2 +- 11 files changed, 7 insertions(+), 87 deletions(-) rename mytoyota/utils/{logging => }/log_utils.py (100%) delete mode 100644 mytoyota/utils/logging/log_config.yaml delete mode 100644 mytoyota/utils/logging/log_filters.py delete mode 100644 mytoyota/utils/logging/logging_config.py diff --git a/mytoyota/api.py b/mytoyota/api.py index f29eda4d..99dd39d7 100644 --- a/mytoyota/api.py +++ b/mytoyota/api.py @@ -4,7 +4,6 @@ from datetime import date, datetime, timezone from uuid import uuid4 -import mytoyota.utils.logging.logging_config # noqa # pylint: disable=unused-import from mytoyota.const import ( VEHICLE_ASSOCIATION_ENDPOINT, VEHICLE_GLOBAL_REMOTE_ELECTRIC_STATUS_ENDPOINT, diff --git a/mytoyota/client.py b/mytoyota/client.py index 22c8fdb3..bf16ebb9 100644 --- a/mytoyota/client.py +++ b/mytoyota/client.py @@ -11,7 +11,6 @@ import logging from typing import List, Optional -import mytoyota.utils.logging.logging_config # noqa # pylint: disable=unused-import from mytoyota.api import Api from mytoyota.models.vehicle import Vehicle diff --git a/mytoyota/controller.py b/mytoyota/controller.py index 6178fe48..14bd2168 100644 --- a/mytoyota/controller.py +++ b/mytoyota/controller.py @@ -11,7 +11,6 @@ import httpx import jwt -import mytoyota.utils.logging.logging_config # noqa # pylint: disable=unused-import from mytoyota.const import ( ACCESS_TOKEN_URL, API_BASE_URL, @@ -24,7 +23,7 @@ ToyotaInvalidUsernameError, ToyotaLoginError, ) -from mytoyota.utils.logging.log_utils import format_httpx_response +from mytoyota.utils.log_utils import format_httpx_response _LOGGER: logging.Logger = logging.getLogger(__name__) diff --git a/mytoyota/models/vehicle.py b/mytoyota/models/vehicle.py index 610ead48..538b3ab4 100644 --- a/mytoyota/models/vehicle.py +++ b/mytoyota/models/vehicle.py @@ -2,7 +2,6 @@ import asyncio import copy import json -import logging from datetime import date from functools import partial from itertools import groupby @@ -11,7 +10,6 @@ from arrow import Arrow -import mytoyota.utils.logging.logging_config # noqa # pylint: disable=unused-import from mytoyota.api import Api from mytoyota.models.dashboard import Dashboard from mytoyota.models.endpoints.vehicle_guid import VehicleGuidModel @@ -22,9 +20,7 @@ from mytoyota.models.summary import Summary, SummaryType from mytoyota.models.trips import Trip from mytoyota.utils.helpers import add_with_none -from mytoyota.utils.logging.log_utils import censor_all - -_LOGGER: logging.Logger = logging.getLogger(__name__) +from mytoyota.utils.log_utils import censor_all class Vehicle: diff --git a/mytoyota/utils/conversions.py b/mytoyota/utils/conversions.py index 3bab28e4..59071572 100644 --- a/mytoyota/utils/conversions.py +++ b/mytoyota/utils/conversions.py @@ -1,20 +1,18 @@ """Conversion utilities used.""" import logging -import mytoyota.utils.logging.logging_config # noqa # pylint: disable=unused-import - _LOGGER: logging.Logger = logging.getLogger(__name__) def convert_to_miles(kilometers: float) -> float: """Convert kilometers to miles.""" - _LOGGER.debug(f"Converting {kilometers} to miles...") + _LOGGER.debug("Converting %s kilometers to miles...", kilometers) return kilometers * 0.621371192 def convert_to_km(miles: float) -> float: """Convert kilometers to miles.""" - _LOGGER.debug(f"Converting {miles} to kilometers...") + _LOGGER.debug("Converting %s miles to kilometers...", miles) return miles * 1.60934 @@ -29,11 +27,11 @@ def convert_distance(convert_to: str, convert_from: str, value: float, decimal_p def convert_to_liter_per_100_miles(liters: float) -> float: """Convert liters per 100 km to liters per 100 miles.""" - _LOGGER.debug("Converting to L/100miles...") + _LOGGER.debug("Converting %s liters to L/100miles...", liters) return round(liters * 1.609344, 4) def convert_to_mpg(liters_per_100_km: float) -> float: """Convert to miles per UK gallon (MPG).""" - _LOGGER.debug("Converting to MPG...") + _LOGGER.debug("Converting %s L/100km to MPG...", liters_per_100_km) return round(282.5 / liters_per_100_km, 4) if liters_per_100_km > 0.0 else 0.0 diff --git a/mytoyota/utils/logging/log_utils.py b/mytoyota/utils/log_utils.py similarity index 100% rename from mytoyota/utils/logging/log_utils.py rename to mytoyota/utils/log_utils.py diff --git a/mytoyota/utils/logging/log_config.yaml b/mytoyota/utils/logging/log_config.yaml deleted file mode 100644 index 566e5939..00000000 --- a/mytoyota/utils/logging/log_config.yaml +++ /dev/null @@ -1,31 +0,0 @@ -version: 1 -disable_existing_loggers: False - -formatters: - simple: - format: "%(asctime)s %(levelname)s %(message)s" - datefmt: "%Y-%m-%d %H:%M:%S" - -handlers: - stream: - class: "logging.StreamHandler" - formatter: "simple" - filters: - - "logfilter" - -filters: - logfilter: - (): mytoyota.utils.logging.log_filters.RedactingFilter - patterns: - - 'access_token\":\s*\"([^\"]*)' - - 'id_token\":\s*\"([^\"]*)' - - 'subscriberGuid\":\s*\"([^\"]*)' - - 'contractId\":\s*\"([^\"]*)' - - 'vin\":\s*\"([^\"]*)' - - 'euiccid\":\s*\"([^\"]*)' - - "guid':\\s*'([^']*)" - -root: - level: "ERROR" - handlers: - - "stream" diff --git a/mytoyota/utils/logging/log_filters.py b/mytoyota/utils/logging/log_filters.py deleted file mode 100644 index d2488e1e..00000000 --- a/mytoyota/utils/logging/log_filters.py +++ /dev/null @@ -1,24 +0,0 @@ -"""Module with filter log filter classes.""" -import logging -import re - - -class RedactingFilter(logging.Filter): - """Helper class to filter logs by given pattern via 'logging.Filter'.""" - - def __init__(self, patterns): - """Initialise RedactingFilter class.""" - super(RedactingFilter, self).__init__() - self._patterns = patterns - - def filter(self, record): - """Modify the log record to mask sensitive data.""" - record.msg = self.mask_sensitive_data(record.msg) - return True - - def mask_sensitive_data(self, msg): - """Mask sensitive data in logs by given patterns.""" - for pattern in self._patterns: - compiled_pattern = re.compile(pattern) - msg = compiled_pattern.sub("****", str(msg)) - return msg diff --git a/mytoyota/utils/logging/logging_config.py b/mytoyota/utils/logging/logging_config.py deleted file mode 100644 index 2c3b31f9..00000000 --- a/mytoyota/utils/logging/logging_config.py +++ /dev/null @@ -1,13 +0,0 @@ -"""Load a central config for logging.""" -import logging -import logging.config -from pathlib import Path - -import yaml - -BASE_DIR = Path(__file__).parent - -with open(file=BASE_DIR / "log_config.yaml", mode="r", encoding="utf-8") as config: - config_dict = yaml.safe_load(config) - -logging.config.dictConfig(config_dict) diff --git a/simple_client_example.py b/simple_client_example.py index 7797797c..461d44c5 100644 --- a/simple_client_example.py +++ b/simple_client_example.py @@ -1,16 +1,13 @@ """Simple test of new API Changes.""" import asyncio import json -import logging import pprint from datetime import date, timedelta -import mytoyota.utils.logging.logging_config # noqa # pylint: disable=unused-import from mytoyota.client import MyT from mytoyota.models.summary import SummaryType pp = pprint.PrettyPrinter(indent=4) -_LOGGER = logging.getLogger(__name__) # Set your username and password in a file on top level called "credentials.json" in the format: diff --git a/tests/unit_tests/test_utils/test_logs.py b/tests/unit_tests/test_utils/test_logs.py index 7084991f..92f7fe25 100644 --- a/tests/unit_tests/test_utils/test_logs.py +++ b/tests/unit_tests/test_utils/test_logs.py @@ -2,7 +2,7 @@ import pytest from httpx import Request, Response -from mytoyota.utils.logging.log_utils import ( +from mytoyota.utils.log_utils import ( censor_all, censor_string, censor_value,