Skip to content

Commit 8355a18

Browse files
committed
update logger setting
1 parent 1023dc2 commit 8355a18

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

src/penguin/common.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)