@@ -113,9 +113,6 @@ def getColoredLogger(name):
113113 """
114114 Get or create a coloredlogger at INFO.
115115 """
116- if name in logging .Logger .manager .loggerDict :
117- # If the logger already exists, return it
118- return logging .getLogger (name )
119116 logger = logging .getLogger (name )
120117 level = logging .INFO
121118
@@ -136,17 +133,20 @@ def getColoredLogger(name):
136133 # Prevent log messages from propagating to parent loggers (i.e., penguin.manager should not also log for penguin)
137134 logger .propagate = False
138135
139- # Save the original setLevel method before replacing it
140- original_set_level = logger .setLevel
136+ if not hasattr (logger , 'custom_set_level' ):
137+ # Save the original setLevel method before replacing it
138+ original_set_level = logger .setLevel
141139
142- def custom_set_level (level ):
143- # Call the original method, not the monkeypatched one
144- original_set_level (level )
145- for handler in logger .handlers :
146- handler .setLevel (level )
140+ def custom_set_level (level ):
141+ # Call the original method, not the monkeypatched one
142+ original_set_level (level )
143+ for handler in logger .handlers :
144+ handler .setLevel (level )
147145
148- # Replace the setLevel method with our custom one
149- logger .setLevel = custom_set_level
146+ logger .custom_set_level = custom_set_level
147+
148+ # Replace the setLevel method with our custom one
149+ logger .setLevel = custom_set_level
150150
151151 return logger
152152
0 commit comments