diff --git a/conftest.py b/conftest.py index cf56850de..630101e9c 100644 --- a/conftest.py +++ b/conftest.py @@ -28,6 +28,8 @@ import importlib.util import os import sys +import logging +import matplotlib # Disable pyc files sys.dont_write_bytecode = True @@ -37,6 +39,9 @@ import keyring from mslib.mswms.demodata import DataFiles import tests.constants as constants +from mslib.utils.loggerdef import configure_mpl_logger + +matplotlib_logger = configure_mpl_logger() # This import must come after importing tests.constants due to MSUI_CONFIG_PATH being set there from mslib.utils.config import read_config_file diff --git a/mslib/msui/mpl_map.py b/mslib/msui/mpl_map.py index 6c07477f7..1bb2fb234 100644 --- a/mslib/msui/mpl_map.py +++ b/mslib/msui/mpl_map.py @@ -50,11 +50,13 @@ from mslib.msui import mpl_pathinteractor as mpl_pi from mslib.utils.airdata import get_airports, get_airspaces +from mslib.utils.loggerdef import configure_mpl_logger OPENAIP_NOTICE = "Airspace data used comes from openAIP.\n" \ "Visit openAIP.net and contribute to better aviation data, free for everyone to use and share." OURAIRPORTS_NOTICE = "Airports provided by OurAirports." +mpl_logger = configure_mpl_logger() class MapCanvas(basemap.Basemap): diff --git a/mslib/msui/mpl_pathinteractor.py b/mslib/msui/mpl_pathinteractor.py index ff7a73c65..8164cc022 100644 --- a/mslib/msui/mpl_pathinteractor.py +++ b/mslib/msui/mpl_pathinteractor.py @@ -55,6 +55,10 @@ from mslib.utils.units import units from mslib.utils.thermolib import pressure2flightlevel from mslib.msui import flighttrack as ft +from mslib.utils.loggerdef import configure_mpl_logger + + +mpl_logger = configure_mpl_logger() def distance_point_linesegment(p, l1, l2): diff --git a/mslib/msui/mpl_qtwidget.py b/mslib/msui/mpl_qtwidget.py index 9dfc7b050..26dbc744d 100644 --- a/mslib/msui/mpl_qtwidget.py +++ b/mslib/msui/mpl_qtwidget.py @@ -50,6 +50,7 @@ from mslib.msui import mpl_pathinteractor as mpl_pi from mslib.msui import mpl_map from mslib.msui.icons import icons +from mslib.utils.loggerdef import configure_mpl_logger PIL_IMAGE_ORIGIN = "upper" LAST_SAVE_DIRECTORY = config_loader(dataset="data_dir") @@ -94,6 +95,8 @@ "plot_title_size": "default", "axes_label_size": "default"} +mpl_logger = configure_mpl_logger() + class ViewPlotter: def __init__(self, fig=None, ax=None, settings_tag=None, settings=None): diff --git a/mslib/mswms/generics.py b/mslib/mswms/generics.py index 23ea01e90..86dfcb41d 100644 --- a/mslib/mswms/generics.py +++ b/mslib/mswms/generics.py @@ -29,6 +29,7 @@ import matplotlib from mslib.utils.units import convert_to +from mslib.utils.loggerdef import configure_mpl_logger """ Number of levels in discrete colourmaps @@ -212,6 +213,8 @@ elif standard_name not in _TITLES: _TITLES[standard_name] = standard_name.replace("_", " ") +mpl_logger = configure_mpl_logger() + def get_standard_names(): return _TARGETS diff --git a/mslib/mswms/mpl_hsec.py b/mslib/mswms/mpl_hsec.py index 992f6ffcf..265d018b0 100644 --- a/mslib/mswms/mpl_hsec.py +++ b/mslib/mswms/mpl_hsec.py @@ -45,10 +45,12 @@ from mslib.utils.coordinate import get_projection_params from mslib.utils.units import convert_to from mslib.mswms.utils import make_cbar_labels_readable +from mslib.utils.loggerdef import configure_mpl_logger BASEMAP_CACHE = {} BASEMAP_REQUESTS = [] +mpl_logger = configure_mpl_logger() class AbstractHorizontalSectionStyle(mss_2D_sections.Abstract2DSectionStyle): diff --git a/mslib/mswms/mpl_lsec.py b/mslib/mswms/mpl_lsec.py index 8a44844ad..84db6594b 100644 --- a/mslib/mswms/mpl_lsec.py +++ b/mslib/mswms/mpl_lsec.py @@ -33,9 +33,11 @@ from mslib.mswms import mss_2D_sections from mslib.utils.units import convert_to +from mslib.utils.loggerdef import configure_mpl_logger mpl.rcParams['xtick.direction'] = 'out' mpl.rcParams['ytick.direction'] = 'out' +mpl_logger = configure_mpl_logger() class AbstractLinearSectionStyle(mss_2D_sections.Abstract2DSectionStyle): diff --git a/mslib/mswms/mpl_vsec.py b/mslib/mswms/mpl_vsec.py index 4d6131dda..f4777b3ad 100644 --- a/mslib/mswms/mpl_vsec.py +++ b/mslib/mswms/mpl_vsec.py @@ -41,10 +41,12 @@ from mslib.mswms import mss_2D_sections from mslib.utils.units import convert_to, units from mslib.mswms.utils import make_cbar_labels_readable +from mslib.utils.loggerdef import configure_mpl_logger mpl.rcParams['xtick.direction'] = 'out' mpl.rcParams['ytick.direction'] = 'out' +mpl_logger = configure_mpl_logger() class AbstractVerticalSectionStyle(mss_2D_sections.Abstract2DSectionStyle): diff --git a/mslib/utils/__init__.py b/mslib/utils/__init__.py index 294c527e4..a46b0c543 100644 --- a/mslib/utils/__init__.py +++ b/mslib/utils/__init__.py @@ -65,8 +65,8 @@ def setup_logging(args): ch.setLevel(logging.DEBUG) ch.setFormatter(debug_formatter) else: - logger.setLevel(logging.INFO) - ch.setLevel(logging.INFO) + logger.setLevel(logging.DEBUG) + ch.setLevel(logging.DEBUG) ch.setFormatter(default_formatter) logger.addHandler(ch) # File handler (always on DEBUG level) diff --git a/mslib/utils/loggerdef.py b/mslib/utils/loggerdef.py new file mode 100644 index 000000000..573704dd7 --- /dev/null +++ b/mslib/utils/loggerdef.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +""" + + mslib.utils.loggerdef + ~~~~~~~~~~~~~~~~ + + This module sets the logging level and prevent code repetition. + + This file is part of MSS. + + :copyright: Copyright 2024 Preetam Sundar Das + :copyright: Copyright 2024 by the MSS team, see AUTHORS. + :license: APACHE-2.0, see LICENSE for details. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +""" + +import logging + + +def configure_mpl_logger(): + mpl_logger = logging.getLogger('matplotlib') + mpl_logger.setLevel(logging.INFO) + return mpl_logger diff --git a/mslib/utils/mssautoplot.py b/mslib/utils/mssautoplot.py index d0ee6775d..f1289cdbe 100644 --- a/mslib/utils/mssautoplot.py +++ b/mslib/utils/mssautoplot.py @@ -52,12 +52,15 @@ from mslib.msui import flighttrack as ft from mslib.utils import config as conf from mslib.utils.auth import get_auth_from_url_and_name +from mslib.utils.loggerdef import configure_mpl_logger TEXT_CONFIG = { "bbox": dict(boxstyle="round", facecolor="white", alpha=0.5, edgecolor="none"), "fontweight": "bold", "zorder": 4, "fontsize": 6, "clip_on": True} +mpl_logger = configure_mpl_logger() + def load_from_ftml(filename): """Load a flight track from an XML file at .