diff --git a/backend/routes/chat.py b/backend/routes/chat.py index 02be5d6..033c4aa 100644 --- a/backend/routes/chat.py +++ b/backend/routes/chat.py @@ -1,6 +1,9 @@ """Chat routes — /api/chat — supports normal + streaming""" import json +import logging + +logger = logging.getLogger(__name__) from types import SimpleNamespace from fastapi import APIRouter, HTTPException @@ -23,6 +26,12 @@ def _retrieve_context(*args, **kwargs): @router.post("/", response_model=ChatResponse) async def chat(req: ChatRequest): + logger.info("Chat request", extra={ + "session_id": req.session_id, + "model": req.model, + "message_len": len(req.message), + "use_documents": req.use_documents, + }) """Standard (non-streaming) chat endpoint.""" if not await ollama_service.is_ollama_running(): raise HTTPException(503, "Ollama not running. Run: `ollama serve`") @@ -54,6 +63,12 @@ async def chat(req: ChatRequest): @router.post("/stream") async def chat_stream(req: ChatRequest): + logger.info("Chat stream request", extra={ + "session_id": req.session_id, + "model": req.model, + "message_len": len(req.message), + "use_documents": req.use_documents, + }) """Streaming chat — returns Server-Sent Events.""" if not await ollama_service.is_ollama_running(): raise HTTPException(503, "Ollama not running. Run: `ollama serve`") diff --git a/backend/routes/upload.py b/backend/routes/upload.py index 99d8015..4797a4f 100644 --- a/backend/routes/upload.py +++ b/backend/routes/upload.py @@ -4,8 +4,11 @@ from pathlib import Path from fastapi import APIRouter, UploadFile, File, Form, HTTPException from models.schemas import UploadResponse +import logging from services import db_service +logger = logging.getLogger(__name__) + router = APIRouter() ALLOWED = { @@ -21,6 +24,11 @@ @router.post("/", response_model=UploadResponse) async def upload(file: UploadFile = File(...), session_id: str = Form(...)): + logger.info("Upload request", extra={ + "filename": file.filename, + "content_type": file.content_type, + "session_id": session_id, + }) content_type = file.content_type or "" # Be lenient — also allow by extension ext = Path(file.filename).suffix.lower() @@ -39,6 +47,12 @@ async def upload(file: UploadFile = File(...), session_id: str = Form(...)): f.write(content) size_kb = round(len(content) / 1024, 1) + logger.info("Upload complete", extra={ + "filename": file.filename, + "size_kb": size_kb, + "chunks": chunks, + "session_id": session_id, + }) from services import rag_service