@@ -118,6 +118,7 @@ def __init__(self, api_doc):
118118 self .api_status = 'incompatible'
119119 self .components = api_doc .get ('components' )
120120 self .endpoints_info = api_doc .get ('paths' )
121+ self .logger = logging .getLogger ("utils.monitor" )
121122
122123 def test_endpoint (self , _endpoint , _endpoint_info ):
123124 endpoint_doc = {'name' : '/' .join (s .strip ('/' ) for s in (self .api_server , _endpoint )),
@@ -134,8 +135,7 @@ def test_endpoint(self, _endpoint, _endpoint_info):
134135 try :
135136 response = endpoint .make_api_call ()
136137 except Exception as exception : # pylint: disable=broad-except
137- logger = logging .getLogger ("utils.monitor" )
138- logger .error (exception )
138+ self .logger .error (_endpoint , exception )
139139 # exception error message
140140 self ._uptime_msg .append (_endpoint + ": " + type (exception ).__name__ )
141141 return 'fail'
@@ -184,6 +184,7 @@ def check_api_status(self):
184184 if res :
185185 results .append (res )
186186
187+ self .logger .info ("%s" , dict (zip (self .endpoints_info .keys (), results )))
187188 if not 'fail' in results :
188189 if 'pass' in results :
189190 self ._uptime_msg = ['Everything looks good!' ]
@@ -227,8 +228,7 @@ def __init__(self, endpoint_doc):
227228
228229 def make_api_call (self ):
229230 headers = {
230- 'User-Agent' : 'SmartAPI API status monitor' ,
231- 'Content-Type' : 'application/json'
231+ 'User-Agent' : 'SmartAPI API status monitor'
232232 }
233233 url = self .endpoint_name
234234 logger = logging .getLogger ("utils.uptime.endpoint.make_api_call" )
@@ -261,13 +261,14 @@ def make_api_call(self):
261261 verify = False ,
262262 timeout = 30 ,
263263 headers = headers )
264- return response
265264 else :
266265 response = requests .get (url ,
267266 timeout = 30 ,
268267 verify = False ,
269268 headers = headers )
270- return response
269+ logger .debug ('get: %s, %s, %s, %s' , url , params , response , headers )
270+ return response
271+
271272 # handle API endpoint which use POST HTTP method
272273 elif self .method == "POST" :
273274 params = {}
@@ -276,6 +277,7 @@ def make_api_call(self):
276277 if self .requestbody :
277278 content = self .requestbody .get ('content' )
278279 if content and 'application/json' in content :
280+ headers ['Content-Type' ] = 'application/json'
279281 schema = content .get ('application/json' ).get ('schema' )
280282 example = content .get ('application/json' ).get ('example' )
281283 try :
@@ -327,9 +329,10 @@ def make_api_call(self):
327329 timeout = 30 ,
328330 verify = False ,
329331 headers = headers )
332+
330333 if not response .status_code == 200 :
331334 self .msg .append (self .endpoint_name + ': ' + response .reason )
332- return response
335+
333336 # case example only
334337 elif example and not bool (params ):
335338 response = requests .post (url ,
@@ -339,7 +342,7 @@ def make_api_call(self):
339342 headers = headers )
340343 if not response .status_code == 200 :
341344 self .msg .append (self .endpoint_name + ': ' + response .reason )
342- return response
345+
343346 # case params only
344347 elif bool (params ):
345348 self .msg .append (self .endpoint_name + ': ' + 'MissingRequestBody' )
@@ -350,7 +353,7 @@ def make_api_call(self):
350353 headers = headers )
351354 if not response .status_code == 200 :
352355 self .msg .append (self .endpoint_name + ': ' + 'MissingRequestBody' )
353- return response
356+
354357 # case url only
355358 else :
356359 self .msg .append (self .endpoint_name + ': ' + 'MissingRequestBody' )
@@ -360,7 +363,9 @@ def make_api_call(self):
360363 headers = headers )
361364 if not response .status_code == 200 :
362365 self .msg .append (self .endpoint_name + ': ' + 'MissingRequestBody' )
363- return response
366+
367+ logger .debug ('post: %s, %s, %s, %s, %s' , url , params , example , response , headers )
368+ return response
364369
365370 def check_response_status (self , response ):
366371 return response .status_code
0 commit comments