Skip to content

Commit efe3d17

Browse files
committed
dedupe logger handlers
1 parent 7f77051 commit efe3d17

File tree

1 file changed

+21
-19
lines changed

1 file changed

+21
-19
lines changed

src/codegen/shared/logging/get_logger.py

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,31 @@
44

55

66
def get_colored_logger(name: str) -> logging.Logger:
7-
handler = colorlog.StreamHandler()
8-
handler.setFormatter(
9-
colorlog.ColoredFormatter(
10-
"%(white)s%(asctime)s - %(name)s - %(log_color)s%(levelname)s%(reset)s%(white)s - %(message_log_color)s%(message)s",
11-
log_colors={
7+
formatter = colorlog.ColoredFormatter(
8+
"%(white)s%(asctime)s - %(name)s - %(log_color)s%(levelname)s%(reset)s%(white)s - %(message_log_color)s%(message)s",
9+
log_colors={
10+
"DEBUG": "cyan",
11+
"INFO": "green",
12+
"WARNING": "yellow",
13+
"ERROR": "red",
14+
"CRITICAL": "red,bg_white",
15+
},
16+
secondary_log_colors={
17+
"message": {
1218
"DEBUG": "cyan",
13-
"INFO": "green",
19+
"INFO": "blue",
1420
"WARNING": "yellow",
1521
"ERROR": "red",
1622
"CRITICAL": "red,bg_white",
17-
},
18-
secondary_log_colors={
19-
"message": {
20-
"DEBUG": "cyan",
21-
"INFO": "blue",
22-
"WARNING": "yellow",
23-
"ERROR": "red",
24-
"CRITICAL": "red,bg_white",
25-
}
26-
},
27-
)
23+
}
24+
},
2825
)
29-
3026
logger = logging.getLogger(name)
31-
logger.addHandler(handler)
27+
if logger.hasHandlers():
28+
for h in logger.handlers:
29+
h.setFormatter(formatter)
30+
else:
31+
handler = colorlog.StreamHandler()
32+
handler.setFormatter(formatter)
33+
logger.addHandler(handler)
3234
return logger

0 commit comments

Comments
 (0)