@@ -48,7 +48,6 @@ def check_suffix(filename: str | Path, suffix: str) -> str | Path:
4848
4949@contextlib .contextmanager
5050def setup_logging (
51- logobj : logging .Logger ,
5251 logfile : str | Path | None = None ,
5352 level : int = logging .WARNING ,
5453):
@@ -67,9 +66,13 @@ def setup_logging(
6766 message logged from errors, warnings and infos will be displayed.
6867 """
6968 try :
70- format = ""
69+ # Get the root logger
70+ logobj = logging .getLogger ()
71+
7172 if level == logging .DEBUG :
72- format += "[{levelname}]:{filename}:{funcName}:{lineno} - "
73+ format = "[{levelname}]:{filename}:{funcName}:{lineno} - "
74+ else :
75+ format = ""
7376 format += "{message}"
7477
7578 formatter = logging .Formatter (format , style = "{" )
@@ -90,17 +93,20 @@ def setup_logging(
9093 logging .addLevelName (logging .WARNING , Emphasise .warning ("WARNING" ))
9194 logging .addLevelName (logging .ERROR , Emphasise .error ("ERROR" ))
9295
93- logging .basicConfig (format = format , handlers = handlers , level = level , style = "{" )
94- logging .captureWarnings (True )
96+ logobj .setLevel (level )
97+ for handler in handlers :
98+ handler .setLevel (level )
99+ handler .setFormatter (formatter )
100+ logobj .addHandler (handler )
95101
96102 if logfile :
97103 abs_path = str (Path (logfile ).absolute ().resolve ())
98104 logobj .info (f"This log is also available at '{ abs_path } '." )
99105 else :
100106 logobj .debug ("Logging to file is disabled." )
101107
102- for handler in handlers :
103- logobj . addHandler ( handler )
108+ # Redirect warnings (from the warnings library) to the logging system
109+ logging . captureWarnings ( True )
104110
105111 yield
106112
0 commit comments