Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 15 additions & 11 deletions src/foraging_gui/Foraging.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
logger = logging.getLogger(__name__)
logger.root.handlers.clear() # clear handlers so console output can be configured
logging.raiseExceptions = os.getenv("FORAGING_DEV_MODE", False)

logging.basicConfig(level=logging.INFO)

class NumpyEncoder(json.JSONEncoder):
def default(self, obj):
Expand Down Expand Up @@ -353,6 +353,14 @@ def __init__(self, parent=None, box_number=1, start_bonsai_ide=True):
# setup life-cycle logger
self.lifecycle_logger = self.setup_lifecycle_logger()

# reconfigure root logger
root_logger = logging.getLogger(__name__)
log_format = "%(asctime)s:%(levelname)s:%(module)s:%(filename)s:%(funcName)s:line %(lineno)d:%(message)s"
log_datefmt = "%I:%M:%S %p"
correct_formatter = logging.Formatter(fmt=log_format, datefmt=log_datefmt)
for handler in root_logger.handlers:
handler.setFormatter(correct_formatter)

# Initializes session log handler as None
self.session_log_handler = None

Expand Down Expand Up @@ -1990,11 +1998,7 @@ def _GetSettings(self):
"aind_watchdog_service",
"manifest",
),
"lifecycle_log_dir": os.path.join(
os.path.expanduser("~"),
"Documents",
"lifecycle_logs",
),
"lifecycle_log_dir": os.path.join("C://Program Data//AllenInstitute//dynamic-foraging-task//logs"),
"transfer_service_job_type": "dynamic_foraging_compression",
"auto_engage": True,
"clear_figure_after_save": True,
Expand Down Expand Up @@ -4185,11 +4189,6 @@ def _Save(self, ForceSave=0, SaveAs=0, SaveContinue=0, BackupSave=0):
elif session is None:
logging.warning(f"Waterlog for mouse {self.behavior_session_model.subject} cannot be added to database"
f" due do metadata generation failure.")

# add complete log to lifecycle
self.lifecycle_logger.info("Session ended.", extra={"subject_id": self.behavior_session_model.subject,
"acquisition_name": self.behavior_session_model.session_name,
"event_type": "stage_complete"})

except Exception as e:
logging.warning(
Expand Down Expand Up @@ -6447,6 +6446,11 @@ def session_end_tasks(self):
with open(self.behavior_session_modelJson, "w") as outfile:
outfile.write(self.behavior_session_model.model_dump_json())

# add complete log to lifecycle
self.lifecycle_logger.info("Session ended.", extra={"subject_id": self.behavior_session_model.subject,
"acquisition_name": self.behavior_session_model.session_name,
"event_type": "stage_complete"})

def log_session(self) -> None:
"""
Setup a log handler to write logs during session to TrainingFolder
Expand Down
Loading