diff --git a/classes/logger.py b/classes/logger.py index 1e8f1d1..f452d32 100644 --- a/classes/logger.py +++ b/classes/logger.py @@ -15,4 +15,7 @@ class Logger: print(self.__class__()._format(message, "DEBUG")) def info(self, message: str) -> None: - print(self.__class__()._format(message, "INFO")) \ No newline at end of file + print(self.__class__()._format(message, "INFO")) + + def error(self, message: str) -> None: + print(self.__class__()._format(message, "ERROR")) \ No newline at end of file diff --git a/classes/retry.py b/classes/retry.py index 0274b0b..9894977 100644 --- a/classes/retry.py +++ b/classes/retry.py @@ -1,6 +1,9 @@ from paramiko.ssh_exception import SSHException, NoValidConnectionsError from socket import timeout +from classes.logger import Logger + + class retry: """Decorator used to automatically retry operations throwing exceptions """ @@ -15,6 +18,7 @@ class retry: """ self.exceptions = exceptions or (SSHException, NoValidConnectionsError, timeout, TimeoutError) + self._logger = Logger() def __call__(self, f): """Return a function through the retry decorator @@ -30,6 +34,6 @@ class retry: try: return f(*args, **kwargs) except self.exceptions as e: - print("Caught expected exception: " + repr(e)) + self._logger.info("Caught expected exception: " + repr(e)) return wrapped_f \ No newline at end of file diff --git a/classes/vesselthread.py b/classes/vesselthread.py index ebf1d25..1b096ce 100644 --- a/classes/vesselthread.py +++ b/classes/vesselthread.py @@ -31,22 +31,22 @@ class VesselThread(Process): def run(self) -> NoReturn: """Run thread and process uploads to the vessel """ - print("Launched Vessel Thread for " + self.vessel.name) + self._logger.debug("Launched Vessel Thread for " + self.vessel.name) self.assertDirectories() while True: try: self.upload() time.sleep(5) except Exception as e: - print("An exception occurred in the Vessel Thread for " + + self._logger.error("An exception occurred in the Vessel Thread for " + self.vessel.name) - print(repr(e)) + self._logger.error(repr(e)) @retry() def assertDirectories(self) -> None: for directory in self._state["config"].directories: if not directory.name in self.vessel._ignoredirs: - print( + self._logger.debug( f"Making sure directory {directory.name} exists on Vessel {self.vessel.name}") self.vessel.connection.assertDirectories(directory)