diff --git a/src/agora/abc.py b/src/agora/abc.py index 85bf4f3d2999cec4f301e4fc7aa5a96ae932a630..6c1fd343e04bf42fb798642484b0b55c2de0a97a 100644 --- a/src/agora/abc.py +++ b/src/agora/abc.py @@ -200,6 +200,11 @@ class ProcessABC(ABC): def run(self): pass + def _log(self, message: str, level: str = "warn"): + # Log messages in the corresponding level + logger = logging.getLogger("aliby") + getattr(logger, level)(f"{self.__class__.__name__}: {message}") + def check_type_recursive(val1, val2): same_types = True @@ -230,10 +235,6 @@ class StepABC(ProcessABC): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - @property - def _logger(self): - return logging.getLogger("aliby") - @abstractmethod def _run_tp(self): pass @@ -245,8 +246,9 @@ class StepABC(ProcessABC): if log: t = perf_counter() result = self._run_tp(tp, **kwargs) - self._logger.debug( - f"Timing:{self.__class__.__name__}:{perf_counter()-t}s" + self._log( + f"Timing:{self.__class__.__name__}:{perf_counter()-t}s", + "debug", ) else: result = self._run_tp(tp, **kwargs) diff --git a/src/aliby/pipeline.py b/src/aliby/pipeline.py index 1c6a03aa4f5cb7792525560f2ac7a21ac924e265..dc1512c1c8579c743a1653061af60692a09e9715 100644 --- a/src/aliby/pipeline.py +++ b/src/aliby/pipeline.py @@ -499,14 +499,14 @@ class Pipeline(ProcessABC): frac_clogged_traps = self.check_earlystop( filename, earlystop, steps["tiler"].tile_size ) - logging.warn( + self._log( f"{name}:Clogged_traps:{frac_clogged_traps}" ) frac = np.round(frac_clogged_traps * 100) pbar.set_postfix_str(f"{frac} Clogged") else: # Stop if more than X% traps are clogged - self._logger.warn( + self._log( f"{name}:Analysis stopped early at time {i} with {frac_clogged_traps} clogged traps" ) meta.add_fields({"end_status": "Clogged"}) @@ -521,7 +521,7 @@ class Pipeline(ProcessABC): ) PostProcessor(filename, post_proc_params).run() - self._logger.info("Analysis finished successfully.") + self._log("Analysis finished successfully.", "info") return 1 except Exception as e: # bug during setup or runtime @@ -678,7 +678,7 @@ class Pipeline(ProcessABC): # If no previous segmentation and keep tiler if filename.exists(): - self._logger.warn("IO: Result file exists.") + self._log("Result file exists.", "info") if not ow["tiler"]: steps["tiler"] = Tiler.from_hdf5(image, filename) try: