36
36
)
37
37
security = HTTPBasic ()
38
38
39
- logging . basicConfig ( level = logging .INFO , format = "%(levelname)s %(asctime)s %(message)s" )
39
+ logger = logging .getLogger ( __name__ )
40
40
logging .getLogger ("passlib" ).setLevel (logging .ERROR )
41
41
42
42
mongo_setting = os .getenv ("MONGO_URL" )
43
43
if mongo_setting is None :
44
44
raise ValueError ("MONGO_URL not set" )
45
45
if mongo_setting == "mock" :
46
46
client = create_mock_client ()
47
- logging .info ("Using mock client" )
47
+ logger .info ("Using mock client" )
48
48
else :
49
49
client = create_mongo_client (mongo_setting )
50
- logging .info ("Using mongo client" )
50
+ logger .info ("Using mongo client" )
51
51
if "/?" in mongo_setting :
52
- logging .info (f"client options: { mongo_setting .split ('/?' )[1 ]} " )
52
+ logger .info (f"client options: { mongo_setting .split ('/?' )[1 ]} " )
53
53
54
54
55
55
def raise_basic_exception ():
@@ -107,6 +107,7 @@ def readyz():
107
107
try :
108
108
client .admin .command ("ping" )
109
109
except Exception :
110
+ logger .error ("mongodb ping failed" )
110
111
return Response ("NOT OK" , status_code = status .HTTP_503_SERVICE_UNAVAILABLE )
111
112
return "OK"
112
113
@@ -125,6 +126,7 @@ def create_user(user: User):
125
126
}
126
127
)
127
128
except pymongo .errors .DuplicateKeyError as e :
129
+ logger .error ("User already exists" )
128
130
raise HTTPException (
129
131
status_code = status .HTTP_409_CONFLICT , detail = "User already exists"
130
132
) from e
@@ -140,11 +142,14 @@ def delete_user(credentials: HTTPBasicCredentials = Depends(security)):
140
142
try :
141
143
flushes .delete_many ({"user_id" : credentials .username })
142
144
if flushes .count_documents ({"user_id" : credentials .username }) > 0 :
145
+ logger .error ("user still has flushes in mongodb" )
143
146
raise Exception ("Error while flush deletion" )
144
147
result = users .delete_one ({"_id" : credentials .username })
145
148
if result .deleted_count != 1 :
149
+ logger .error ("mongodb responded with deleted_count != 1" )
146
150
raise Exception ("User not deleted" )
147
151
except Exception as e :
152
+ logger .error (f"error while deleting account - { e } " )
148
153
raise HTTPException (
149
154
status_code = status .HTTP_400_BAD_REQUEST ,
150
155
detail = "Error while deleting account" ,
@@ -176,6 +181,7 @@ def create_update_flush(
176
181
if result .matched_count == 1 :
177
182
return Response (flush .time_start , status_code = status .HTTP_200_OK )
178
183
except Exception as e :
184
+ logger .error (f"error adding flush - { e } " )
179
185
raise HTTPException (
180
186
status_code = status .HTTP_400_BAD_REQUEST , detail = "Error adding flush"
181
187
) from e
@@ -191,8 +197,10 @@ def delete_flush(
191
197
try :
192
198
result = flushes .delete_one (filter = filter_from_flush (credentials , flush ))
193
199
if result .deleted_count != 1 :
200
+ logger .error ("flush not deleted - deleted_count != 1" )
194
201
raise Exception ("Flush not deleted" )
195
202
except Exception as e :
203
+ logger .error (f"error deleting flush - { e } " )
196
204
raise HTTPException (
197
205
status_code = status .HTTP_400_BAD_REQUEST , detail = "Error deleting flush"
198
206
) from e
@@ -210,8 +218,10 @@ def delete_flush_by_id(
210
218
filter = filter_from_creds_and_id (credentials , flush_id )
211
219
)
212
220
if result .deleted_count != 1 :
221
+ logger .error ("flush not deleted by id - deleted_count != 1" )
213
222
raise Exception ("Flush not deleted" )
214
223
except Exception as e :
224
+ logger .error (f"error deleting flush by id - { e } " )
215
225
raise HTTPException (
216
226
status_code = status .HTTP_400_BAD_REQUEST , detail = "Error deleting flush"
217
227
) from e
@@ -288,9 +298,7 @@ def get_flushes(
288
298
e ["time_end" ] = e ["time_end" ].isoformat ()
289
299
return flushes_response (entries , credentials .username , skip )
290
300
except Exception as e :
291
- logging .error (e )
292
- logging .info (type (entries ))
293
- logging .info (entries )
301
+ logger .error (f"error getting flushes - { e } " )
294
302
raise HTTPException (
295
303
status_code = status .HTTP_400_BAD_REQUEST , detail = "Error getting flushes"
296
304
) from e
@@ -314,8 +322,10 @@ def update_password(
314
322
)
315
323
if result .matched_count == 1 :
316
324
return Response (status_code = status .HTTP_200_OK )
325
+ logger .error (f"pass_change matched_count == { result .matched_count } " )
317
326
raise Exception (f"matched_count == { result .matched_count } " )
318
327
except Exception as e :
328
+ logger .error (f"error changing password - { e } " )
319
329
raise HTTPException (
320
330
status_code = status .HTTP_400_BAD_REQUEST , detail = "Error changing password"
321
331
) from e
@@ -383,6 +393,7 @@ def get_flush_stats(credentials: HTTPBasicCredentials = Depends(security)):
383
393
del json_stats ["_id" ]
384
394
return json_stats
385
395
except Exception as e :
396
+ logger .error (f"error getting stats - { e } " )
386
397
raise HTTPException (
387
398
status_code = status .HTTP_400_BAD_REQUEST , detail = "Error getting stats"
388
399
) from e
@@ -404,6 +415,7 @@ def give_feedback(
404
415
)
405
416
return Response (status_code = status .HTTP_201_CREATED )
406
417
except Exception as e :
418
+ logger .error (f"error giving feedback - { e } " )
407
419
raise HTTPException (
408
420
status_code = status .HTTP_400_BAD_REQUEST , detail = "Error giving feedback"
409
421
) from e
0 commit comments