Spaces:
Running
Running
Fix logging: use basicConfig(force=True) to override Streamlit's WARNING-level root config
Browse filesStreamlit sets root logger level=WARNING before app.py executes. Our previous
if-not-handlers guard was skipped once Streamlit's server added its own handler,
leaving all INFO messages silently dropped. force=True removes existing handlers
and guarantees INFO+ output to stderr in HF Spaces logs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- utils/logger.py +9 -11
utils/logger.py
CHANGED
|
@@ -1,17 +1,15 @@
|
|
| 1 |
import logging
|
| 2 |
import sys
|
| 3 |
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
_root.addHandler(_handler)
|
| 14 |
-
_root.setLevel(logging.INFO)
|
| 15 |
|
| 16 |
# Named app logger for explicit imports (from utils.logger import logger)
|
| 17 |
logger = logging.getLogger("kasper")
|
|
|
|
| 1 |
import logging
|
| 2 |
import sys
|
| 3 |
|
| 4 |
+
# force=True (Python 3.8+) removes any handlers already added by Streamlit's
|
| 5 |
+
# server startup before app.py loads, and guarantees our format + level win.
|
| 6 |
+
logging.basicConfig(
|
| 7 |
+
level=logging.INFO,
|
| 8 |
+
format="[%(asctime)s] [%(levelname)s] %(name)s: %(message)s",
|
| 9 |
+
datefmt="%Y-%m-%d %H:%M:%S",
|
| 10 |
+
stream=sys.stderr,
|
| 11 |
+
force=True,
|
| 12 |
+
)
|
|
|
|
|
|
|
| 13 |
|
| 14 |
# Named app logger for explicit imports (from utils.logger import logger)
|
| 15 |
logger = logging.getLogger("kasper")
|