Skip to content

Commit 473646d

Browse files
committed
Refactor logging configuration to create timestamped run directories for logs
1 parent 1e63083 commit 473646d

2 files changed

Lines changed: 14 additions & 16 deletions

File tree

predicators/approaches/agent_planner_approach.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,6 @@ def __init__(self, initial_predicates: Set[Predicate],
5656
self._option_model = create_option_model(CFG.option_model_name)
5757
self._online_learning_cycle = 0
5858
self._requests_train_task_idxs: Optional[List[int]] = None
59-
60-
# Create unique run identifier for this execution
6159
self._run_id = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
6260

6361
self._init_agent_session_state(types, initial_predicates,
@@ -72,12 +70,11 @@ def is_learning_based(self) -> bool:
7270
return True
7371

7472
def _get_log_dir(self) -> str:
75-
"""Override to create separate directory for each run."""
76-
base_log_dir = super()._get_log_dir()
77-
run_log_dir = os.path.join(base_log_dir, f"run_{self._run_id}")
78-
os.makedirs(run_log_dir, exist_ok=True)
79-
logging.info(f"Logging agent queries/responses to: {run_log_dir}")
80-
return run_log_dir
73+
"""Return per-run log directory (created by configure_logging)."""
74+
log_dir = super()._get_log_dir()
75+
os.makedirs(log_dir, exist_ok=True)
76+
logging.info(f"Logging agent queries/responses to: {log_dir}")
77+
return log_dir
8178

8279
# ------------------------------------------------------------------ #
8380
# Overridable helpers (for subclass customisation)

predicators/utils.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4891,22 +4891,23 @@ def configure_logging() -> None:
48914891
colorlog_handler.setFormatter(colored_formatter)
48924892
handlers: List[logging.Handler] = [colorlog_handler]
48934893
if CFG.log_file:
4894-
CFG.log_file += f"{CFG.approach}/{CFG.experiment_id}/seed{CFG.seed}/"
4894+
timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
4895+
CFG.log_file += (f"{CFG.approach}/{CFG.experiment_id}/"
4896+
f"seed{CFG.seed}/run_{timestamp}/")
48954897
os.makedirs(CFG.log_file, exist_ok=True)
48964898

4897-
timestamp = datetime.datetime.now().strftime("%m%d%H%M%S")
48984899
# Handler for DEBUG level messages
4899-
debug_handler = logging.FileHandler(f"{CFG.log_file}{timestamp}_debug",
4900-
mode='w')
4900+
debug_handler = logging.FileHandler(
4901+
os.path.join(CFG.log_file, "debug.log"), mode='w')
49014902
debug_handler.setLevel(logging.DEBUG)
4902-
debug_handler.setFormatter(colored_formatter) # Apply formatter
4903+
debug_handler.setFormatter(colored_formatter)
49034904
handlers.append(debug_handler)
49044905

49054906
# Handler for INFO level messages
4906-
info_handler = logging.FileHandler(f"{CFG.log_file}{timestamp}_info",
4907-
mode='w')
4907+
info_handler = logging.FileHandler(
4908+
os.path.join(CFG.log_file, "info.log"), mode='w')
49084909
info_handler.setLevel(logging.INFO)
4909-
info_handler.setFormatter(colored_formatter) # Apply formatter
4910+
info_handler.setFormatter(colored_formatter)
49104911
handlers.append(info_handler)
49114912

49124913
logging.basicConfig(level=CFG.loglevel,

0 commit comments

Comments
 (0)