File tree Expand file tree Collapse file tree 1 file changed +15
-3
lines changed
Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -42,13 +42,25 @@ class _Logger:
4242 def __init__ (self , name : str ) -> None :
4343 # Default logger that can be patched by third-party.
4444 self ._logger = self .__class__ ._default_logger (name )
45- # Register instance.
46- self ._instances [name ] = self
4745
4846 def __getattr__ (self , name : str ) -> Any :
4947 # Forward everything to the logger.
5048 return getattr (self ._logger , name )
5149
50+ @classmethod
51+ def get (cls , name : str ) -> _Logger :
52+ """Get a logger instance.
53+
54+ Parameters:
55+ name: The logger name.
56+
57+ Returns:
58+ The logger instance.
59+ """
60+ if name not in cls ._instances :
61+ cls ._instances [name ] = cls (name )
62+ return cls ._instances [name ]
63+
5264 @classmethod
5365 def _patch_loggers (cls , get_logger_func : Callable ) -> None :
5466 # Patch current instances.
@@ -67,7 +79,7 @@ def get_logger(name: str) -> _Logger:
6779 Returns:
6880 The logger.
6981 """
70- return _Logger (name )
82+ return _Logger . get (name )
7183
7284
7385def patch_loggers (get_logger_func : Callable [[str ], Any ]) -> None :
You can’t perform that action at this time.
0 commit comments