diff --git a/backend/apps/images/main.py b/backend/apps/images/main.py index d331fa384..af8cbf7c5 100644 --- a/backend/apps/images/main.py +++ b/backend/apps/images/main.py @@ -325,7 +325,7 @@ def save_url_image(url): return image_id except Exception as e: - print(f"Error saving image: {e}") + log.exception(f"Error saving image: {e}") return None @@ -397,7 +397,7 @@ def generate_image( user.id, app.state.COMFYUI_BASE_URL, ) - print(res) + log.debug(f"res: {res}") images = [] @@ -409,7 +409,7 @@ def generate_image( with open(file_body_path, "w") as f: json.dump(data.model_dump(exclude_none=True), f) - print(images) + log.debug(f"images: {images}") return images else: if form_data.model: diff --git a/backend/apps/images/utils/comfyui.py b/backend/apps/images/utils/comfyui.py index 6a9fef353..393333255 100644 --- a/backend/apps/images/utils/comfyui.py +++ b/backend/apps/images/utils/comfyui.py @@ -4,6 +4,12 @@ import json import urllib.request import urllib.parse import random +import logging + +from config import SRC_LOG_LEVELS + +log = logging.getLogger(__name__) +log.setLevel(SRC_LOG_LEVELS["COMFYUI"]) from pydantic import BaseModel @@ -121,7 +127,7 @@ COMFYUI_DEFAULT_PROMPT = """ def queue_prompt(prompt, client_id, base_url): - print("queue_prompt") + log.info("queue_prompt") p = {"prompt": prompt, "client_id": client_id} data = json.dumps(p).encode("utf-8") req = urllib.request.Request(f"{base_url}/prompt", data=data) @@ -129,7 +135,7 @@ def queue_prompt(prompt, client_id, base_url): def get_image(filename, subfolder, folder_type, base_url): - print("get_image") + log.info("get_image") data = {"filename": filename, "subfolder": subfolder, "type": folder_type} url_values = urllib.parse.urlencode(data) with urllib.request.urlopen(f"{base_url}/view?{url_values}") as response: @@ -137,14 +143,14 @@ def get_image(filename, subfolder, folder_type, base_url): def get_image_url(filename, subfolder, folder_type, base_url): - print("get_image") + log.info("get_image") data = {"filename": filename, "subfolder": subfolder, "type": folder_type} url_values = urllib.parse.urlencode(data) return f"{base_url}/view?{url_values}" def get_history(prompt_id, base_url): - print("get_history") + log.info("get_history") with urllib.request.urlopen(f"{base_url}/history/{prompt_id}") as response: return json.loads(response.read()) @@ -212,15 +218,15 @@ def comfyui_generate_image( try: ws = websocket.WebSocket() ws.connect(f"ws://{host}/ws?clientId={client_id}") - print("WebSocket connection established.") + log.info("WebSocket connection established.") except Exception as e: - print(f"Failed to connect to WebSocket server: {e}") + log.exception(f"Failed to connect to WebSocket server: {e}") return None try: images = get_images(ws, comfyui_prompt, client_id, base_url) except Exception as e: - print(f"Error while receiving images: {e}") + log.exception(f"Error while receiving images: {e}") images = None ws.close() diff --git a/backend/apps/ollama/main.py b/backend/apps/ollama/main.py index 914bad680..f9ebdb98f 100644 --- a/backend/apps/ollama/main.py +++ b/backend/apps/ollama/main.py @@ -272,7 +272,7 @@ async def pull_model( if request_id in REQUEST_POOL: yield chunk else: - print("User: canceled request") + log.warning("User: canceled request") break finally: if hasattr(r, "close"): diff --git a/backend/apps/rag/main.py b/backend/apps/rag/main.py index da7bb307d..cb8cbb6c3 100644 --- a/backend/apps/rag/main.py +++ b/backend/apps/rag/main.py @@ -333,7 +333,7 @@ def store_docs_in_vector_db(docs, collection_name, overwrite: bool = False) -> b if overwrite: for collection in CHROMA_CLIENT.list_collections(): if collection_name == collection.name: - print(f"deleting existing collection {collection_name}") + log.info(f"deleting existing collection {collection_name}") CHROMA_CLIENT.delete_collection(name=collection_name) collection = CHROMA_CLIENT.create_collection( @@ -346,7 +346,7 @@ def store_docs_in_vector_db(docs, collection_name, overwrite: bool = False) -> b ) return True except Exception as e: - print(e) + log.exception(e) if e.__class__.__name__ == "UniqueConstraintError": return True @@ -575,7 +575,7 @@ def scan_docs_dir(user=Depends(get_admin_user)): ), ) except Exception as e: - print(e) + log.exception(e) pass except Exception as e: diff --git a/backend/config.py b/backend/config.py index ff73baf75..04778f9f0 100644 --- a/backend/config.py +++ b/backend/config.py @@ -119,6 +119,7 @@ log.info(f"GLOBAL_LOG_LEVEL: {GLOBAL_LOG_LEVEL}") log_sources = [ "AUDIO", + "COMFYUI", "CONFIG", "DB", "IMAGES", @@ -128,6 +129,7 @@ log_sources = [ "OLLAMA", "OPENAI", "RAG", + "WEBHOOK", ] SRC_LOG_LEVELS = {} diff --git a/backend/utils/webhook.py b/backend/utils/webhook.py index e700b5031..b6692e53a 100644 --- a/backend/utils/webhook.py +++ b/backend/utils/webhook.py @@ -1,6 +1,11 @@ import json import requests -from config import VERSION, WEBUI_FAVICON_URL, WEBUI_NAME +import logging + +from config import SRC_LOG_LEVELS, VERSION, WEBUI_FAVICON_URL, WEBUI_NAME + +log = logging.getLogger(__name__) +log.setLevel(SRC_LOG_LEVELS["WEBHOOK"]) def post_webhook(url: str, message: str, event_data: dict) -> bool: @@ -39,9 +44,11 @@ def post_webhook(url: str, message: str, event_data: dict) -> bool: else: payload = {**event_data} + log.debug(f"payload: {payload}") r = requests.post(url, json=payload) r.raise_for_status() + log.debug(f"r.text: {r.text}") return True except Exception as e: - print(e) + log.exception(e) return False