@@ -727,6 +727,7 @@ class MaxedStreamHandler(logging.StreamHandler):
727727
728728 MAX_STREAM_SIZE = 2 ** 20 - 2 ** 6 # 1 Mb minus some buffer
729729 _installed_handlers : dict [str , tuple [logging .Logger , MaxedStreamHandler ]] = {}
730+ _sent_bytes = 0
730731
731732 @classmethod
732733 def install_handler (cls , logger_ : logging .Logger ):
@@ -738,7 +739,7 @@ def install_handler(cls, logger_: logging.Logger):
738739 # any handler to override ?
739740 handler = next ((h for h in logger_ .handlers if isinstance (h , logging .StreamHandler )), None )
740741 if handler :
741- to_install = MaxedStreamHandler (cls . MAX_STREAM_SIZE , handler )
742+ to_install = MaxedStreamHandler (handler )
742743 cls ._installed_handlers [logger_ .name ] = (logger_ , to_install )
743744 logger_ .removeHandler (handler )
744745 logger_ .addHandler (to_install )
@@ -750,17 +751,14 @@ def install_handler(cls, logger_: logging.Logger):
750751
751752 @classmethod
752753 def uninstall_handlers (cls ):
753- for pair in cls ._installed_handlers .values ():
754- logger_ = pair [0 ]
755- handler = pair [1 ]
754+ for logger_ , handler in cls ._installed_handlers .values ():
756755 logger_ .removeHandler (handler )
757756 logger_ .addHandler (handler .original_handler )
758757 cls ._installed_handlers .clear ()
758+ cls ._sent_bytes = 0
759759
760- def __init__ (self , max_bytes : int , original_handler : logging .StreamHandler ):
760+ def __init__ (self , original_handler : logging .StreamHandler ):
761761 super ().__init__ ()
762- self ._max_bytes = max_bytes
763- self ._sent_bytes = 0
764762 self ._original_handler = original_handler
765763
766764 @property
@@ -784,7 +782,7 @@ def emit(self, record):
784782
785783 def _prevent_overflow (self , msg : str ):
786784 data = msg .encode ("utf-8" )
787- if self ._sent_bytes + len (data ) > self ._max_bytes :
785+ if self ._sent_bytes + len (data ) > self .MAX_STREAM_SIZE :
788786 # ensure readers are aware of why the logs are incomplete
789787 self .stream .write (f"MAX LOGS SIZE REACHED: { self ._sent_bytes } bytes!!!" )
790788 self .flush ()
0 commit comments