File tree 1 file changed +15
-3
lines changed
1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -42,13 +42,25 @@ class _Logger:
42
42
def __init__ (self , name : str ) -> None :
43
43
# Default logger that can be patched by third-party.
44
44
self ._logger = self .__class__ ._default_logger (name )
45
- # Register instance.
46
- self ._instances [name ] = self
47
45
48
46
def __getattr__ (self , name : str ) -> Any :
49
47
# Forward everything to the logger.
50
48
return getattr (self ._logger , name )
51
49
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
+
52
64
@classmethod
53
65
def _patch_loggers (cls , get_logger_func : Callable ) -> None :
54
66
# Patch current instances.
@@ -67,7 +79,7 @@ def get_logger(name: str) -> _Logger:
67
79
Returns:
68
80
The logger.
69
81
"""
70
- return _Logger (name )
82
+ return _Logger . get (name )
71
83
72
84
73
85
def patch_loggers (get_logger_func : Callable [[str ], Any ]) -> None :
You can’t perform that action at this time.
0 commit comments