MCPcopy Create free account
hub / github.com/ModalityDance/Omni-R1 / CaptureLogger

Class CaptureLogger

src/transformers/src/transformers/testing_utils.py:1409–1449  ·  view source on GitHub ↗

Context manager to capture `logging` streams Args: logger: 'logging` logger object Returns: The captured output is available via `self.out` Example: ```python >>> from transformers import logging >>> from transformers.testing_utils import CaptureLogge

Source from the content-addressed store, hash-verified

1407
1408
1409class CaptureLogger:
1410 """
1411 Context manager to capture `logging` streams
1412
1413 Args:
1414 logger: 'logging` logger object
1415
1416 Returns:
1417 The captured output is available via `self.out`
1418
1419 Example:
1420
1421 ```python
1422 >>> from transformers import logging
1423 >>> from transformers.testing_utils import CaptureLogger
1424
1425 >>> msg = "Testing 1, 2, 3"
1426 >>> logging.set_verbosity_info()
1427 >>> logger = logging.get_logger("transformers.models.bart.tokenization_bart")
1428 >>> with CaptureLogger(logger) as cl:
1429 ... logger.info(msg)
1430 >>> assert cl.out, msg + "\n"
1431 ```
1432 """
1433
1434 def __init__(self, logger):
1435 self.logger = logger
1436 self.io = StringIO()
1437 self.sh = logging.StreamHandler(self.io)
1438 self.out = ""
1439
1440 def __enter__(self):
1441 self.logger.addHandler(self.sh)
1442 return self
1443
1444 def __exit__(self, *exc):
1445 self.logger.removeHandler(self.sh)
1446 self.out = self.io.getvalue()
1447
1448 def __repr__(self):
1449 return f"captured: {self.out}\n"
1450
1451
1452@contextlib.contextmanager

Calls

no outgoing calls