@@ -16,14 +16,14 @@ def format(self, record: logging.LogRecord) -> str:
1616
1717
1818def 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