devjas1 commited on
Commit
320b946
·
1 Parent(s): d56e6f7

(FIX/LOGGING): initialize session log buffer and harden log_message()

Browse files

- Add 'log_messages': [] to 'init_session_state'
- Make 'log_message()' create the buffer if missing
- Use '.get('log_messages', [])' in Technical tab to avoid KeyError
- Remove duplicate defaults loop in 'init_session_state'

Files changed (1) hide show
  1. app.py +9 -4
app.py CHANGED
@@ -255,6 +255,7 @@ def init_session_state():
255
  "input_mode": "Upload File", # controls which pane is visible
256
  "inference_run_once": False,
257
  "x_raw": None, "y_raw": None, "y_resampled": None,
 
258
  }
259
  for k, v in defaults.items():
260
  st.session_state.setdefault(k, v)
@@ -264,9 +265,13 @@ def init_session_state():
264
  if key not in st.session_state:
265
  st.session_state[key] = default_value
266
 
267
- def log_message(msg):
268
- """Log message for observability"""
269
- st.session_state['log_messages'].append(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] {msg}")
 
 
 
 
270
 
271
  def trigger_run():
272
  """Set a flag so we can detect button press reliably across reruns"""
@@ -574,7 +579,7 @@ def main():
574
 
575
  # Debug log
576
  st.markdown("**Debug Log**")
577
- st.text_area("Logs", "\n".join(st.session_state['log_messages']), height=200)
578
 
579
  with tab3:
580
  st.markdown("""
 
255
  "input_mode": "Upload File", # controls which pane is visible
256
  "inference_run_once": False,
257
  "x_raw": None, "y_raw": None, "y_resampled": None,
258
+ "log_messages": [],
259
  }
260
  for k, v in defaults.items():
261
  st.session_state.setdefault(k, v)
 
265
  if key not in st.session_state:
266
  st.session_state[key] = default_value
267
 
268
+ def log_message(msg: str):
269
+ """Append a timestamped line to the in-app log, creating the buffer if needed."""
270
+ if "log_messages" not in st.session_state or st.session_state["log_messages"] is None:
271
+ st.session_state["log_messages"] = []
272
+ st.session_state["log_messages"].append(
273
+ f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] {msg}"
274
+ )
275
 
276
  def trigger_run():
277
  """Set a flag so we can detect button press reliably across reruns"""
 
579
 
580
  # Debug log
581
  st.markdown("**Debug Log**")
582
+ st.text_area("Logs", "\n".join(st.session_state.get("log_messages", [])), height=200)
583
 
584
  with tab3:
585
  st.markdown("""