forked from open-webui/open-webui
		
	Merge pull request #1370 from lainedfles/logging-improvements
Improve logging.
This commit is contained in:
		
						commit
						587a8c5992
					
				
					 6 changed files with 31 additions and 16 deletions
				
			
		|  | @ -325,7 +325,7 @@ def save_url_image(url): | ||||||
| 
 | 
 | ||||||
|         return image_id |         return image_id | ||||||
|     except Exception as e: |     except Exception as e: | ||||||
|         print(f"Error saving image: {e}") |         log.exception(f"Error saving image: {e}") | ||||||
|         return None |         return None | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -397,7 +397,7 @@ def generate_image( | ||||||
|                 user.id, |                 user.id, | ||||||
|                 app.state.COMFYUI_BASE_URL, |                 app.state.COMFYUI_BASE_URL, | ||||||
|             ) |             ) | ||||||
|             print(res) |             log.debug(f"res: {res}") | ||||||
| 
 | 
 | ||||||
|             images = [] |             images = [] | ||||||
| 
 | 
 | ||||||
|  | @ -409,7 +409,7 @@ def generate_image( | ||||||
|                 with open(file_body_path, "w") as f: |                 with open(file_body_path, "w") as f: | ||||||
|                     json.dump(data.model_dump(exclude_none=True), f) |                     json.dump(data.model_dump(exclude_none=True), f) | ||||||
| 
 | 
 | ||||||
|             print(images) |             log.debug(f"images: {images}") | ||||||
|             return images |             return images | ||||||
|         else: |         else: | ||||||
|             if form_data.model: |             if form_data.model: | ||||||
|  |  | ||||||
|  | @ -4,6 +4,12 @@ import json | ||||||
| import urllib.request | import urllib.request | ||||||
| import urllib.parse | import urllib.parse | ||||||
| import random | import random | ||||||
|  | import logging | ||||||
|  | 
 | ||||||
|  | from config import SRC_LOG_LEVELS | ||||||
|  | 
 | ||||||
|  | log = logging.getLogger(__name__) | ||||||
|  | log.setLevel(SRC_LOG_LEVELS["COMFYUI"]) | ||||||
| 
 | 
 | ||||||
| from pydantic import BaseModel | from pydantic import BaseModel | ||||||
| 
 | 
 | ||||||
|  | @ -121,7 +127,7 @@ COMFYUI_DEFAULT_PROMPT = """ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def queue_prompt(prompt, client_id, base_url): | def queue_prompt(prompt, client_id, base_url): | ||||||
|     print("queue_prompt") |     log.info("queue_prompt") | ||||||
|     p = {"prompt": prompt, "client_id": client_id} |     p = {"prompt": prompt, "client_id": client_id} | ||||||
|     data = json.dumps(p).encode("utf-8") |     data = json.dumps(p).encode("utf-8") | ||||||
|     req = urllib.request.Request(f"{base_url}/prompt", data=data) |     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): | def get_image(filename, subfolder, folder_type, base_url): | ||||||
|     print("get_image") |     log.info("get_image") | ||||||
|     data = {"filename": filename, "subfolder": subfolder, "type": folder_type} |     data = {"filename": filename, "subfolder": subfolder, "type": folder_type} | ||||||
|     url_values = urllib.parse.urlencode(data) |     url_values = urllib.parse.urlencode(data) | ||||||
|     with urllib.request.urlopen(f"{base_url}/view?{url_values}") as response: |     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): | 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} |     data = {"filename": filename, "subfolder": subfolder, "type": folder_type} | ||||||
|     url_values = urllib.parse.urlencode(data) |     url_values = urllib.parse.urlencode(data) | ||||||
|     return f"{base_url}/view?{url_values}" |     return f"{base_url}/view?{url_values}" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def get_history(prompt_id, base_url): | 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: |     with urllib.request.urlopen(f"{base_url}/history/{prompt_id}") as response: | ||||||
|         return json.loads(response.read()) |         return json.loads(response.read()) | ||||||
| 
 | 
 | ||||||
|  | @ -212,15 +218,15 @@ def comfyui_generate_image( | ||||||
|     try: |     try: | ||||||
|         ws = websocket.WebSocket() |         ws = websocket.WebSocket() | ||||||
|         ws.connect(f"ws://{host}/ws?clientId={client_id}") |         ws.connect(f"ws://{host}/ws?clientId={client_id}") | ||||||
|         print("WebSocket connection established.") |         log.info("WebSocket connection established.") | ||||||
|     except Exception as e: |     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 |         return None | ||||||
| 
 | 
 | ||||||
|     try: |     try: | ||||||
|         images = get_images(ws, comfyui_prompt, client_id, base_url) |         images = get_images(ws, comfyui_prompt, client_id, base_url) | ||||||
|     except Exception as e: |     except Exception as e: | ||||||
|         print(f"Error while receiving images: {e}") |         log.exception(f"Error while receiving images: {e}") | ||||||
|         images = None |         images = None | ||||||
| 
 | 
 | ||||||
|     ws.close() |     ws.close() | ||||||
|  |  | ||||||
|  | @ -272,7 +272,7 @@ async def pull_model( | ||||||
|                         if request_id in REQUEST_POOL: |                         if request_id in REQUEST_POOL: | ||||||
|                             yield chunk |                             yield chunk | ||||||
|                         else: |                         else: | ||||||
|                             print("User: canceled request") |                             log.warning("User: canceled request") | ||||||
|                             break |                             break | ||||||
|                 finally: |                 finally: | ||||||
|                     if hasattr(r, "close"): |                     if hasattr(r, "close"): | ||||||
|  |  | ||||||
|  | @ -333,7 +333,7 @@ def store_docs_in_vector_db(docs, collection_name, overwrite: bool = False) -> b | ||||||
|         if overwrite: |         if overwrite: | ||||||
|             for collection in CHROMA_CLIENT.list_collections(): |             for collection in CHROMA_CLIENT.list_collections(): | ||||||
|                 if collection_name == collection.name: |                 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) |                     CHROMA_CLIENT.delete_collection(name=collection_name) | ||||||
| 
 | 
 | ||||||
|         collection = CHROMA_CLIENT.create_collection( |         collection = CHROMA_CLIENT.create_collection( | ||||||
|  | @ -346,7 +346,7 @@ def store_docs_in_vector_db(docs, collection_name, overwrite: bool = False) -> b | ||||||
|         ) |         ) | ||||||
|         return True |         return True | ||||||
|     except Exception as e: |     except Exception as e: | ||||||
|         print(e) |         log.exception(e) | ||||||
|         if e.__class__.__name__ == "UniqueConstraintError": |         if e.__class__.__name__ == "UniqueConstraintError": | ||||||
|             return True |             return True | ||||||
| 
 | 
 | ||||||
|  | @ -575,7 +575,7 @@ def scan_docs_dir(user=Depends(get_admin_user)): | ||||||
|                                 ), |                                 ), | ||||||
|                             ) |                             ) | ||||||
|                 except Exception as e: |                 except Exception as e: | ||||||
|                     print(e) |                     log.exception(e) | ||||||
|                     pass |                     pass | ||||||
| 
 | 
 | ||||||
|         except Exception as e: |         except Exception as e: | ||||||
|  |  | ||||||
|  | @ -119,6 +119,7 @@ log.info(f"GLOBAL_LOG_LEVEL: {GLOBAL_LOG_LEVEL}") | ||||||
| 
 | 
 | ||||||
| log_sources = [ | log_sources = [ | ||||||
|     "AUDIO", |     "AUDIO", | ||||||
|  |     "COMFYUI", | ||||||
|     "CONFIG", |     "CONFIG", | ||||||
|     "DB", |     "DB", | ||||||
|     "IMAGES", |     "IMAGES", | ||||||
|  | @ -128,6 +129,7 @@ log_sources = [ | ||||||
|     "OLLAMA", |     "OLLAMA", | ||||||
|     "OPENAI", |     "OPENAI", | ||||||
|     "RAG", |     "RAG", | ||||||
|  |     "WEBHOOK", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| SRC_LOG_LEVELS = {} | SRC_LOG_LEVELS = {} | ||||||
|  |  | ||||||
|  | @ -1,6 +1,11 @@ | ||||||
| import json | import json | ||||||
| import requests | 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: | 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: |         else: | ||||||
|             payload = {**event_data} |             payload = {**event_data} | ||||||
| 
 | 
 | ||||||
|  |         log.debug(f"payload: {payload}") | ||||||
|         r = requests.post(url, json=payload) |         r = requests.post(url, json=payload) | ||||||
|         r.raise_for_status() |         r.raise_for_status() | ||||||
|  |         log.debug(f"r.text: {r.text}") | ||||||
|         return True |         return True | ||||||
|     except Exception as e: |     except Exception as e: | ||||||
|         print(e) |         log.exception(e) | ||||||
|         return False |         return False | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy Jaeryang Baek
						Timothy Jaeryang Baek