MCPcopy Create free account
hub / github.com/TencentARC/BrushNet / CaptureLogger

Class CaptureLogger

src/diffusers/utils/testing_utils.py:765–801  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

763
764
765class CaptureLogger:
766 """
767 Args:
768 Context manager to capture `logging` streams
769 logger: 'logging` logger object
770 Returns:
771 The captured output is available via `self.out`
772 Example:
773 ```python
774 >>> from diffusers import logging
775 >>> from diffusers.testing_utils import CaptureLogger
776
777 >>> msg = "Testing 1, 2, 3"
778 >>> logging.set_verbosity_info()
779 >>> logger = logging.get_logger("diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.py")
780 >>> with CaptureLogger(logger) as cl:
781 ... logger.info(msg)
782 >>> assert cl.out, msg + "\n"
783 ```
784 """
785
786 def __init__(self, logger):
787 self.logger = logger
788 self.io = StringIO()
789 self.sh = logging.StreamHandler(self.io)
790 self.out = ""
791
792 def __enter__(self):
793 self.logger.addHandler(self.sh)
794 return self
795
796 def __exit__(self, *exc):
797 self.logger.removeHandler(self.sh)
798 self.out = self.io.getvalue()
799
800 def __repr__(self):
801 return f"captured: {self.out}\n"
802
803
804def enable_full_determinism():

Calls

no outgoing calls