Spaces:
Sleeping
Sleeping
asepulloh0109@gmail.com commited on
Commit ·
2214ee5
1
Parent(s): f9a7150
add helper for print logging
Browse files- app/main.py +2 -1
- app/utils.py +22 -1
app/main.py
CHANGED
|
@@ -14,7 +14,7 @@ from openai import OpenAI
|
|
| 14 |
import psycopg2
|
| 15 |
from psycopg2 import sql
|
| 16 |
import os
|
| 17 |
-
from app.utils import get_api_key, get_user_info, update_user, upload_file_to_s3, get_user, upload_mementos_to_db
|
| 18 |
from dotenv import load_dotenv
|
| 19 |
import logging.config
|
| 20 |
import time
|
|
@@ -239,6 +239,7 @@ class ErrorResponse(BaseModel):
|
|
| 239 |
|
| 240 |
@app.get("/ok")
|
| 241 |
def ok_endpoint():
|
|
|
|
| 242 |
logger.info("Health check endpoint called", extra={"endpoint": "/ok"})
|
| 243 |
return {"message": "ok"}
|
| 244 |
|
|
|
|
| 14 |
import psycopg2
|
| 15 |
from psycopg2 import sql
|
| 16 |
import os
|
| 17 |
+
from app.utils import get_api_key, get_user_info, print_log, update_user, upload_file_to_s3, get_user, upload_mementos_to_db
|
| 18 |
from dotenv import load_dotenv
|
| 19 |
import logging.config
|
| 20 |
import time
|
|
|
|
| 239 |
|
| 240 |
@app.get("/ok")
|
| 241 |
def ok_endpoint():
|
| 242 |
+
print_log("INFO", "health check endpoint")
|
| 243 |
logger.info("Health check endpoint called", extra={"endpoint": "/ok"})
|
| 244 |
return {"message": "ok"}
|
| 245 |
|
app/utils.py
CHANGED
|
@@ -17,6 +17,7 @@ from psycopg2 import sql
|
|
| 17 |
import os
|
| 18 |
from dotenv import load_dotenv
|
| 19 |
from app.user import User
|
|
|
|
| 20 |
|
| 21 |
load_dotenv()
|
| 22 |
|
|
@@ -254,4 +255,24 @@ def upload_mementos_to_db(user_id):
|
|
| 254 |
raise ConnectionError(f"Database error: {str(e)}")
|
| 255 |
except Exception as e:
|
| 256 |
logger.error(f"Unexpected error uploading mementos: {str(e)}", extra={'user_id': user_id, 'endpoint': function_name})
|
| 257 |
-
return False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
import os
|
| 18 |
from dotenv import load_dotenv
|
| 19 |
from app.user import User
|
| 20 |
+
import datetime
|
| 21 |
|
| 22 |
load_dotenv()
|
| 23 |
|
|
|
|
| 255 |
raise ConnectionError(f"Database error: {str(e)}")
|
| 256 |
except Exception as e:
|
| 257 |
logger.error(f"Unexpected error uploading mementos: {str(e)}", extra={'user_id': user_id, 'endpoint': function_name})
|
| 258 |
+
return False
|
| 259 |
+
|
| 260 |
+
def print_log(level, message, **kwargs):
|
| 261 |
+
"""
|
| 262 |
+
Print log in JSON format for better readability in CloudWatch.
|
| 263 |
+
|
| 264 |
+
Parameters:
|
| 265 |
+
level (str): The log level (e.g., "INFO", "ERROR", "DEBUG").
|
| 266 |
+
message (str): The log message.
|
| 267 |
+
**kwargs: Additional key-value pairs to include in the log.
|
| 268 |
+
|
| 269 |
+
example:
|
| 270 |
+
print_log("INFO", "User logged in", user_id=123, action="login")
|
| 271 |
+
"""
|
| 272 |
+
log_entry = {
|
| 273 |
+
"timestamp": datetime.datetime.utcnow().isoformat() + "Z",
|
| 274 |
+
"level": level,
|
| 275 |
+
"message": message,
|
| 276 |
+
}
|
| 277 |
+
log_entry.update(kwargs)
|
| 278 |
+
print(json.dumps(log_entry, ensure_ascii=False))
|