Spaces:
Build error
Build error
File size: 676 Bytes
51ff9e5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import io
import logging
from contextlib import asynccontextmanager
@asynccontextmanager
async def capture_logs(logger_name, level=logging.ERROR):
logger = logging.getLogger(logger_name)
# Store original handlers and level
original_handlers = logger.handlers[:]
original_level = logger.level
# Set up capture
log_capture = io.StringIO()
handler = logging.StreamHandler(log_capture)
handler.setLevel(level)
logger.handlers = [handler]
logger.setLevel(level)
try:
yield log_capture
finally:
# Restore original configuration
logger.handlers = original_handlers
logger.setLevel(original_level)
|