@@ -67,3 +67,41 @@ def test_get_logger_multiple_loggers(self):
6767 logger .warning ("test message" )
6868
6969 self .assertEqual (num_loggers , len (logger_cache ))
70+
71+ def test_provider_get_logger_no_cache (self ):
72+ _ , logger_provider = set_up_logging_handler (level = logging .DEBUG )
73+ # pylint: disable=protected-access
74+ logger_cache = logger_provider ._logger_cache
75+
76+ logger_provider .get_logger (
77+ name = "test_logger" ,
78+ version = "version" ,
79+ schema_url = "schema_url" ,
80+ attributes = {"key" : "value" },
81+ )
82+
83+ # Ensure logger is not cached if attributes is set
84+ self .assertEqual (0 , len (logger_cache ))
85+
86+ def test_provider_get_logger_cached (self ):
87+ _ , logger_provider = set_up_logging_handler (level = logging .DEBUG )
88+ # pylint: disable=protected-access
89+ logger_cache = logger_provider ._logger_cache
90+
91+ logger_provider .get_logger (
92+ name = "test_logger" ,
93+ version = "version" ,
94+ schema_url = "schema_url" ,
95+ )
96+
97+ # Ensure only one logger is cached
98+ self .assertEqual (1 , len (logger_cache ))
99+
100+ logger_provider .get_logger (
101+ name = "test_logger" ,
102+ version = "version" ,
103+ schema_url = "schema_url" ,
104+ )
105+
106+ # Ensure only one logger is cached
107+ self .assertEqual (1 , len (logger_cache ))
0 commit comments