77
88
99class Logger (Protocol ):
10- def info (self , __message : str , * args , ** kwargs ):
11- ...
10+ def info (self , __message : str , * args , ** kwargs ): ...
1211
13- def debug (self , __message : str , * args , ** kwargs ):
14- ...
12+ def debug (self , __message : str , * args , ** kwargs ): ...
1513
16- def success (self , __message : str , * args , ** kwargs ):
17- ...
14+ def success (self , __message : str , * args , ** kwargs ): ...
1815
19- def warning (self , __message : str , * args , ** kwargs ):
20- ...
16+ def warning (self , __message : str , * args , ** kwargs ): ...
2117
22- def error (self , __message : str , * args , ** kwargs ):
23- ...
18+ def error (self , __message : str , * args , ** kwargs ): ...
2419
25- def critical (self , __message : str , * args , ** kwargs ):
26- ...
20+ def critical (self , __message : str , * args , ** kwargs ): ...
2721
28- def exception (self , __message : str , * args , ** kwargs ):
29- ...
22+ def exception (self , __message : str , * args , ** kwargs ): ...
23+
24+ def set_level (self , level : Union [str , int ]): ...
3025
3126
3227class LoggingLoggerProxy :
@@ -39,6 +34,7 @@ def __init__(self, logger: logging.Logger):
3934 self .error = logger .error
4035 self .critical = logger .critical
4136 self .exception = logger .exception
37+ self .set_level = logger .setLevel
4238
4339
4440class _Logger :
@@ -69,13 +65,18 @@ def critical(self, msg: str, *args, **kwargs):
6965 def exception (self , msg : str , * args , ** kwargs ):
7066 _Logger .get_logger (self ).exception (msg , * args , ** kwargs )
7167
68+ def set_level (self , level : Union [str , int ]):
69+ _Logger .get_logger (self ).set_level (level )
70+
7271
7372_Logger .get_logger = lambda self : LoggingLoggerProxy (self ._root )
7473
7574
7675class LoggerProvider :
7776 def __init__ (self ):
78- logging .basicConfig (level = "INFO" , format = "%(asctime)s | %(name)s[%(levelname)s]: %(message)s" )
77+ logging .basicConfig (
78+ level = "INFO" , format = "%(asctime)s | %(name)s[%(levelname)s]: %(message)s"
79+ )
7980 self ._root = logging .getLogger ("lagrange" )
8081 self .loggers : dict [str , _Logger ] = {
8182 "lagrange" : _Logger (self ._root ),
@@ -84,9 +85,12 @@ def __init__(self):
8485 self .fork ("network" )
8586 self .fork ("utils" )
8687
87- @staticmethod
88- def set_level (level : Union [str , int ]):
89- logging .basicConfig (level = level , format = "%(asctime)s | %(name)s[%(levelname)s]: %(message)s" )
88+ def set_level (self , level : Union [str , int ]):
89+ logging .basicConfig (
90+ level = level , format = "%(asctime)s | %(name)s[%(levelname)s]: %(message)s"
91+ )
92+ for _ , logger in self .loggers .items ():
93+ logger .set_level (level )
9094
9195 def fork (self , child_name : str ):
9296 logger = _Logger (self ._root .getChild (child_name ))
@@ -126,19 +130,27 @@ def emit(self, record: logging.LogRecord):
126130 level = record .levelno
127131
128132 frame , depth = inspect .currentframe (), 0
129- while frame and (depth == 0 or frame .f_code .co_filename == logging .__file__ ):
133+ while frame and (
134+ depth == 0 or frame .f_code .co_filename == logging .__file__
135+ ):
130136 frame = frame .f_back
131137 depth += 1
132138
133139 logger .opt (depth = depth , exception = record .exc_info ).log (
134140 level , record .getMessage ()
135141 )
136142
137- logging .basicConfig (handlers = [LoguruHandler ()], level = "INFO" , format = "%(asctime)s | %(name)s[%(levelname)s]: %(message)s" )
143+ logging .basicConfig (
144+ handlers = [LoguruHandler ()],
145+ level = "INFO" ,
146+ format = "%(asctime)s | %(name)s[%(levelname)s]: %(message)s" ,
147+ )
138148
139149 def default_filter (record ):
140150 log_level = record ["extra" ].get ("lagrange_log_level" , "INFO" )
141- levelno = logger .level (log_level ).no if isinstance (log_level , str ) else log_level
151+ levelno = (
152+ logger .level (log_level ).no if isinstance (log_level , str ) else log_level
153+ )
142154 return record ["level" ].no >= levelno
143155
144156 logger .remove ()
@@ -149,16 +161,19 @@ def default_filter(record):
149161 backtrace = True ,
150162 colorize = True ,
151163 filter = default_filter ,
152- format = "<g>{time:MM-DD HH:mm:ss}</g> | <lvl>{level: <8}</lvl> | <c><u>{name}</u></c> | <lvl>{message}</lvl>"
164+ format = "<g>{time:MM-DD HH:mm:ss}</g> | <lvl>{level: <8}</lvl> | <c><u>{name}</u></c> | <lvl>{message}</lvl>" ,
153165 )
154166
155167 def _config (level : Union [str , int ]):
156- logging .basicConfig (handlers = [LoguruHandler ()], level = level , format = "%(asctime)s | %(name)s[%(levelname)s]: %(message)s" )
157- logger .configure (
158- extra = {"lagrange_log_level" : level }
168+ logging .basicConfig (
169+ handlers = [LoguruHandler ()],
170+ level = level ,
171+ format = "%(asctime)s | %(name)s[%(levelname)s]: %(message)s" ,
159172 )
173+ logger .configure (extra = {"lagrange_log_level" : level })
160174
161175 log .set_level = _config
162176
163- _Logger .get_logger = lambda self : logger .patch (lambda r : r .update (name = self .context ))
164-
177+ _Logger .get_logger = lambda self : logger .patch (
178+ lambda r : r .update (name = self .context )
179+ )
0 commit comments