Skip to content

Commit 75234b4

Browse files
authored
Merge pull request #28 from ModusCreate-Perdigao-GHAS-Playground/develop-improve-logger
Refactor get_logger to improve level handling and documentation
2 parents cb1dabf + 0faf514 commit 75234b4

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/codeql_wrapper/infrastructure/logger.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ def format(self, record: logging.LogRecord) -> str:
1616

1717

1818
def get_logger(
19-
name: str, level: int = logging.INFO, format_string: Optional[str] = None
19+
name: str, level: Optional[int] = None, format_string: Optional[str] = None
2020
) -> logging.Logger:
2121
"""
2222
Get a configured logger instance.
2323
2424
Args:
2525
name: Logger name (usually __name__)
26-
level: Logging level
26+
level: Logging level (if None, inherits from root logger)
2727
format_string: Custom format string
2828
2929
Returns:
@@ -35,8 +35,12 @@ def get_logger(
3535
if logger.handlers:
3636
return logger
3737

38-
# Set level
39-
logger.setLevel(level)
38+
# Set level - if not specified, inherit from root logger
39+
if level is not None:
40+
logger.setLevel(level)
41+
else:
42+
# Let the logger inherit from root logger (which is configured by configure_logging)
43+
logger.setLevel(logging.NOTSET)
4044

4145
# Propagate to parent loggers (root logger) to use basicConfig
4246
# since we're using basicConfig for root logging
@@ -46,7 +50,8 @@ def get_logger(
4650
if format_string is not None:
4751
# Create console handler
4852
handler = logging.StreamHandler(sys.stdout)
49-
handler.setLevel(level)
53+
handler_level = level if level is not None else logger.getEffectiveLevel()
54+
handler.setLevel(handler_level)
5055

5156
# Create formatter with our custom short name formatter
5257
formatter = ShortNameFormatter(format_string)

0 commit comments

Comments
 (0)