Skip to content

fix(logger): dedicated console logger for the inference status table#67

Merged
ff225 merged 1 commit into
mainfrom
fix/sciot-066-dedicated-inference-table-logger
Jul 14, 2026
Merged

fix(logger): dedicated console logger for the inference status table#67
ff225 merged 1 commit into
mainfrom
fix/sciot-066-dedicated-inference-table-logger

Conversation

@ff225

@ff225 ff225 commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Closes #66. Follow-up to #12 / PR #60.

Problem

PR #60 replaced the inference-table print() calls in request_handler.py with logger.info(). Every table row then went through the logger formatter (src/server/logger/log.py), which:

  • prefixes each row with a ~70-char asctime - level - file:func:line string, breaking the column alignment, and
  • interleaves the table with the verbose diagnostic stream (network speed, model registration, delay sim, profiler), burying the "which layer / what timings" signal.

Fix

Add a dedicated table_logger (server.table) decoupled from the diagnostic logger:

  • plain %(message)s formatter on stdout (matches the pre-PR-60 print() target; default StreamHandler is stderr),
  • propagate=False so it never double-emits through root,
  • fixed at INFO so the table stays visible even when verbose: false silences the noisy INFO/DEBUG stream.

_print_inference_table_header / _print_inference_table_row now use table_logger.

Testing

Verified manually before commit:

  • table rows emit prefix-free and aligned;
  • table stream is isolated from the diagnostic logger (no leakage either way);
  • table remains visible after the non-verbose config raises logger/root to CRITICAL.

tests/unit/test_no_print_statements.py (added in PR #60) still passes.

PR #60 replaced the inference-table print() calls with logger.info(), which
prefixed every row with the timestamp/level/file formatter, broke the column
alignment, and interleaved the table with the verbose diagnostic log stream.

Add a dedicated `table_logger` (server.table) with a plain %(message)s format
on stdout, propagate=False, fixed at INFO so it stays visible regardless of
the `verbose` setting. Route the header/row printers through it.

Closes #66
@ff225 ff225 merged commit 797d4ca into main Jul 14, 2026
3 checks passed
@ff225 ff225 deleted the fix/sciot-066-dedicated-inference-table-logger branch July 14, 2026 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Inference status table is unreadable after print()→logger migration (PR #60)

1 participant