From 925e35f38ea7507679a4eaf62ab8cb46839a7405 Mon Sep 17 00:00:00 2001 From: Lyncoln Date: Wed, 28 Oct 2026 16:36:49 -0400 Subject: [PATCH] Added loging definitions and rich log handling. Operation and Recursive now define bypassed status based on completed count. --- core/console.py | 3 +++ core/execution/operation/operation.py | 14 +++++++++++--- core/execution/recursive.py | 21 ++++++++++----------- initialize.py | 13 ++++++++++++- 4 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 core/console.py diff --git a/core/console.py b/core/console.py new file mode 100644 index 0000000..006f868 --- /dev/null +++ b/core/console.py @@ -0,0 +1,3 @@ +from rich.console import Console + +console = Console(stderr=True) \ No newline at end of file diff --git a/core/execution/operation/operation.py b/core/execution/operation/operation.py index 6b1e746..3d7fbdb 100644 --- a/core/execution/operation/operation.py +++ b/core/execution/operation/operation.py @@ -1,14 +1,17 @@ import logging import pprint from rich.progress import track +from rich.console import Console from core.runtime.managefailure import manageFailure from core.runtime.stopsignals import checkDependency from core.execution.processregistry import registerProcess - +from core.console import console outputs = {} +#console = Console(stderr=True) + def buildOperation(definition, outputs): process_log = True @@ -22,7 +25,8 @@ def buildOperation(definition, outputs): actions = track( actions, #description=definition.name - description=f"[green]{definition.name}[/green]" + description=f"[green]{definition.name}[/green]", + console=console ) for action in actions: @@ -57,7 +61,11 @@ def buildOperation(definition, outputs): #Print completion status after runtime processes if process_log: - logging.info(f"{definition.name} completed") + #print(outputs["processes"][definition.name]["completed"]) + if len(outputs["processes"][definition.name]["completed"]) == 1: + logging.info(f"{definition.name} bypassed") + else: + logging.info(f"{definition.name} completed") #For debugging purposes only process_registry_logs = False diff --git a/core/execution/recursive.py b/core/execution/recursive.py index 3fd9c12..8a87151 100644 --- a/core/execution/recursive.py +++ b/core/execution/recursive.py @@ -4,6 +4,7 @@ import os from core.runtime.stopsignals import checkDependency from core.execution.processregistry import registerProcess from rich.progress import track +from core.console import console def buildRecursive(definition, outputs): process_log = True @@ -14,6 +15,8 @@ def buildRecursive(definition, outputs): source = outputs.get(definition.recursiveset["source"]) if source is None or source == []: + if recursive_log: + logging.debug(f"No items available in {source} for {definition.name}") return outputs, [] outputs = registerProcess(definition, outputs) @@ -25,15 +28,6 @@ def buildRecursive(definition, outputs): source = definition.recursiveset["source"] items = outputs.get(source) - #print(f"RECURSIVE DEBUG DURING {definition.name}") - #print(items) - - #if items is None: - - # if recursive_log: - # print(f"No items available in {source} for {definition.name}") - # - # return outputs, None reverse = definition.recursiveset.get("reverse", False) @@ -43,7 +37,8 @@ def buildRecursive(definition, outputs): for item in track( items, - description=f"[green]{definition.name}[/green]" + description=f"[green]{definition.name}[/green]", + console=console ): #for item in items: @@ -78,7 +73,11 @@ def buildRecursive(definition, outputs): outputs["processes"][definition.name]["completed"].append(job.alias) if process_log: - logging.info(f"{definition.name} completed") + #print(outputs["processes"][definition.name]["completed"]) + if len(outputs["processes"][definition.name]["completed"]) == 1: + logging.info(f"{definition.name} bypassed") + else: + logging.info(f"{definition.name} completed") retain = definition.recursiveset.get("retain", True) diff --git a/initialize.py b/initialize.py index 2d5e056..8b100e3 100644 --- a/initialize.py +++ b/initialize.py @@ -7,10 +7,21 @@ from core.execution.createthread import buildThread from plugins.rmass.monitors import rmassmonitor from plugins.rmass.actions import refresh_tokens +from core.console import console +from rich.logging import RichHandler logging.basicConfig( level=logging.WARNING, - format="%(levelname)s: %(message)s" + format="%(message)s", + handlers=[ + RichHandler( + console=console, + show_time=False, + show_path=False + ) + + ], + force=True ) import login