Skip to content

Commit 78bf7e4

Browse files
fix(logger): prevent duplicate handlers and disable propagation to avoid repeated log lines\n\nCo-authored-by: openhands <openhands@all-hands.dev>
1 parent 753e524 commit 78bf7e4

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

  • benchmesh-serial-service/src/benchmesh_service
Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,33 @@
11
import logging
22

3+
34
def setup_logger():
45
logger = logging.getLogger("benchmesh_service")
6+
# Avoid adding duplicate handlers if called multiple times
7+
if getattr(logger, "_is_configured", False):
8+
return logger
9+
510
logger.setLevel(logging.DEBUG)
611

7-
# Create file handler
812
fh = logging.FileHandler("benchmesh_service.log")
913
fh.setLevel(logging.DEBUG)
1014

11-
# Create console handler
1215
ch = logging.StreamHandler()
1316
ch.setLevel(logging.INFO)
1417

15-
# Create formatter and add it to the handlers
1618
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
1719
fh.setFormatter(formatter)
1820
ch.setFormatter(formatter)
1921

20-
# Add the handlers to the logger
2122
logger.addHandler(fh)
2223
logger.addHandler(ch)
2324

25+
# Prevent propagation to root logger (avoids duplicate logs via root handlers)
26+
logger.propagate = False
27+
# Mark as configured
28+
logger._is_configured = True
29+
2430
return logger
2531

32+
2633
logger = setup_logger()

0 commit comments

Comments
 (0)