* fix: move search analytics log to writable /app/logs volume services/search/analytics.py opened a FileHandler at module import time pointing to /app/services/search_engine_error.log — inside the container image's read-only layer. The process runs as non-root so the open() fails with PermissionError, crashing uvicorn before it ever binds. ANALYTICS_FILE had the same problem. Both paths now point to /app/logs (bind-mounted from the host data directory). The FileHandler creation is wrapped in try/except so a missing mount doesn't hard-crash on import. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: derive log dir from DATA_DIR instead of hardcoded /app/logs Fixes reviewer feedback on #2366: /app/logs only exists inside Docker, so native runs couldn't write the analytics file. DATA_DIR resolves to the repo's data/ directory on native and /app/data (writable mount) in Docker, making both the error log handler and ANALYTICS_FILE work on every platform. --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| analytics.py | ||
| cache.py | ||
| content.py | ||
| core.py | ||
| providers.py | ||
| query.py | ||
| ranking.py | ||
| service.py | ||