diff --git a/_unittest/test_14_AedtLogger.py b/_unittest/test_14_AedtLogger.py index ac4a7f3ff81..bb870fd634a 100644 --- a/_unittest/test_14_AedtLogger.py +++ b/_unittest/test_14_AedtLogger.py @@ -107,7 +107,7 @@ def test_02_output_file_with_app_filter(self): if not os.path.exists(logging_dir): os.makedirs(logging_dir) path = os.path.join(logging_dir, "test02.txt") - logger = AedtLogger(self.aedtapp._messenger, filename=path) + logger = AedtLogger(filename=path) logger.info("Info for Global") logger.debug("Debug for Global") logger.warning("Warning for Global") @@ -167,7 +167,7 @@ def test_02_output_file_with_app_filter(self): def test_03_stdout_with_app_filter(self): capture = CaptureStdOut() with capture: - logger = AedtLogger(self.aedtapp._messenger, to_stdout=True) + logger = AedtLogger(to_stdout=True) logger.info("Info for Global") logger.warning("Warning for Global") logger.error("Error for Global") @@ -186,7 +186,7 @@ def test_04_disable_output_file_handler(self): path = os.path.join(logging_dir, "test04.txt") if os.path.exists(path): os.remove(path) - logger = AedtLogger(self.aedtapp._messenger, filename=path) + logger = AedtLogger(filename=path) logger.info("Info for Global before disabling the log file handler.") project_logger = logger.add_logger("Project") project_logger.info("Info for Project before disabling the log file handler.") @@ -255,7 +255,7 @@ def test_05_disable_stdout(self): stream.write.side_effect = fp.write sys.stdout = stream - logger = AedtLogger(self.aedtapp._messenger, to_stdout=True) + logger = AedtLogger(to_stdout=True) logger.info("Info for Global") logger.disable_stdout_log() logger.info("Info after disabling the stdout handler.") diff --git a/doc/source/Resources/Code_Guidelines.rst b/doc/source/Resources/Code_Guidelines.rst index 5b98a3f6013..7c1cf5a0830 100644 --- a/doc/source/Resources/Code_Guidelines.rst +++ b/doc/source/Resources/Code_Guidelines.rst @@ -739,17 +739,17 @@ write both to the internal AEDT message windows and the log file: .. code:: python - self.messenger.add_error_message("This is an error message.") - self.messenger.add_warning_message("This is a warning message.") - self.messenger.add_info_message("This is an info message.") + self.logger.error("This is an error message.") + self.logger.warning("This is a warning message.") + self.logger.info("This is an info message.") These examples demonstrate how to to write messages only to the log file: .. code:: python self.logger.error("This is an error message.") - self.messenger.warning("This is a warning message.") - self.messenger.info("This is an info message.") + self.logger.warning("This is a warning message.") + self.logger.info("This is an info message.") Exception Handling diff --git a/pyaedt/aedt_logger.py b/pyaedt/aedt_logger.py index afbae39749f..49f6c66739c 100644 --- a/pyaedt/aedt_logger.py +++ b/pyaedt/aedt_logger.py @@ -2,6 +2,7 @@ import sys from pyaedt import log_handler +from pyaedt.application.MessageManager import AEDTMessageManager ENABLE_LOGGER = True # if LOGGER_FILE is defined, it will be taken as output log file @@ -64,12 +65,12 @@ class AedtLogger(object): Write log message into the standard output. The default is ``False``. """ - def __init__(self, messenger, level=logging.DEBUG, filename=None, to_stdout=False): + def __init__(self, level=logging.DEBUG, filename=None, to_stdout=False): main = sys.modules["__main__"] self.level = level self.filename = filename - self._messenger = messenger + self._messenger = AEDTMessageManager() self._global = logging.getLogger("Global") self._file_handler = None self._std_out_handler = None diff --git a/pyaedt/desktop.py b/pyaedt/desktop.py index 3583a59cb4e..0282019f001 100644 --- a/pyaedt/desktop.py +++ b/pyaedt/desktop.py @@ -28,7 +28,6 @@ else: import subprocess -from pyaedt.application.MessageManager import AEDTMessageManager from pyaedt.misc import list_installed_ansysem from pyaedt import aedt_exception_handler from pyaedt.generic.general_methods import is_ironpython, _pythonver, inside_desktop @@ -67,7 +66,7 @@ raise Exception("Error. No win32com.client or Pythonnet modules found. Please install them.") -def exception_to_desktop(ex_value, tb_data): +def exception_to_desktop(ex_value, tb_data): # pragma: no cover """Writes the trace stack to the desktop when a Python error occurs. The message is added to the AEDT global Message Manager and to the log file (if present). @@ -80,13 +79,13 @@ def exception_to_desktop(ex_value, tb_data): Traceback information. """ - if "oMessenger" in dir(sys.modules["__main__"]): - messenger = sys.modules["__main__"].oMessenger + if "aedt_logger" in dir(sys.modules["__main__"]): + messenger = sys.modules["__main__"].aedt_logger tb_trace = traceback.format_tb(tb_data) tblist = tb_trace[0].split("\n") - messenger.add_error_message(str(ex_value), "Global") + messenger.error(str(ex_value), "Global") for el in tblist: - messenger.add_error_message(el, "Global") + messenger.error(el, "Global") else: tb_trace = traceback.format_tb(tb_data) tblist = tb_trace[0].split("\n") @@ -101,8 +100,6 @@ def _delete_objects(): del module.COMUtil if "aedt_logger" in dir(module): del module.aedt_logger - if "oMessenger" in dir(module): - del module.oMessenger if "oDesktop" in dir(module): del module.oDesktop if "pyaedt_initialized" in dir(module): @@ -196,7 +193,7 @@ def force_close_desktop(): del Module.oDesktop successfully_closed = True except: - Module.oMessenger.add_error_message("Something went wrong in Closing AEDT.") + Module.aedt_logger.error("Something went wrong in Closing AEDT.") successfully_closed = False finally: log = logging.getLogger(__name__) @@ -388,8 +385,7 @@ def current_version_student(self): def _init_desktop(self): self._main.AEDTVersion = self._main.oDesktop.GetVersion()[0:6] self._main.oDesktop.RestoreWindow() - self._main.oMessenger = AEDTMessageManager() - self._logger = aedt_logger.AedtLogger(self._main.oMessenger, filename=self.logfile, level=logging.DEBUG) + self._logger = aedt_logger.AedtLogger(filename=self.logfile, level=logging.DEBUG) self._logger.info("Logger Started on %s", self.logfile) self._main.aedt_logger = self._logger self._main.sDesktopinstallDirectory = self._main.oDesktop.GetExeDir() @@ -548,7 +544,7 @@ def _set_logger_file(self): @property def messenger(self): """Messenger manager for AEDT Log.""" - return self._main.oMessenger + return self._main.aedt_logger @property def logger(self): diff --git a/pyaedt/edb.py b/pyaedt/edb.py index 284281d5e92..7c557f4cdf3 100644 --- a/pyaedt/edb.py +++ b/pyaedt/edb.py @@ -21,7 +21,6 @@ except ImportError: if os.name != "posix": warnings.warn("Pythonnet is needed to run pyaedt") -from pyaedt.application.MessageManager import AEDTMessageManager from pyaedt.edb_core import Components, EdbNets, EdbPadstacks, EdbLayout, EdbHfss, EdbSiwave, EdbStackup from pyaedt.edb_core.EDB_Data import EdbBuilder from pyaedt.generic.general_methods import ( @@ -112,8 +111,7 @@ def __init__( if edb_initialized: self.oproject = oproject self._main = sys.modules["__main__"] - if isaedtowned and "oMessenger" in dir(sys.modules["__main__"]): - _messenger = self._main.oMessenger + if isaedtowned and "aedt_logger" in dir(sys.modules["__main__"]): self._logger = self._main.aedt_logger else: if not edbpath or not os.path.exists(os.path.dirname(edbpath)): @@ -123,8 +121,7 @@ def __init__( logfile = os.path.join( project_dir, "pyaedt{}.log".format(datetime.datetime.now().strftime("%Y%m%d_%H%M%S")) ) - self._main.oMessenger = AEDTMessageManager() - self._logger = AedtLogger(self._main.oMessenger, filename=logfile, level=logging.DEBUG) + self._logger = AedtLogger(filename=logfile, level=logging.DEBUG) self._logger.info("Logger Started on %s", logfile) self._main.aedt_logger = self._logger diff --git a/pyaedt/siwave.py b/pyaedt/siwave.py index 3f0f76091ea..26aac387fe6 100644 --- a/pyaedt/siwave.py +++ b/pyaedt/siwave.py @@ -72,13 +72,12 @@ def current_version(self): """Current version of AEDT.""" return self.version_keys[0] - def __init__(self, specified_version=None): + def __init__(self, specified_version=None): # pragma: no cover self._main = sys.modules["__main__"] print("Launching Siwave Init") if "oSiwave" in dir(self._main) and self._main.oSiwave is not None: self._main.AEDTVersion = self._main.oSiwave.GetVersion()[0:6] self._main.oSiwave.RestoreWindow() - # self._main.oMessenger = AEDTMessageManager() specified_version = self.current_version assert specified_version in self.version_keys, "Specified version {} not known.".format(specified_version) version_key = specified_version @@ -115,7 +114,6 @@ def __init__(self, specified_version=None): self._main.AEDTVersion = version_key self.oSiwave = self._main.oSiwave self._main.oSiwave.RestoreWindow() - # self._main.oMessenger = AEDTMessageManager() self._main.siwave_initialized = True self._oproject = self.oSiwave.GetActiveProject() pass