Skip to content

Logs

The logs service provides centralized structured logging for all Jarvis services. It receives log entries over HTTP and stores them in Loki, with Grafana available for visualization. All services use the jarvis-log-client library to send logs here.

Quick Reference

Port 7702
Health endpoint GET /health
Source jarvis-logs/
Framework FastAPI + Uvicorn
Backend Loki (7032) + Grafana (7033)
Tier 1 - Core Infrastructure

API Endpoints

Method Path Description
GET /health Health check
POST /api/v0/logs Submit a single log entry
POST /api/v0/logs/batch Submit a batch of log entries
GET /api/v0/logs Query logs with filters
GET /api/v0/logs/stats Log statistics

Environment Variables

Variable Description
LOKI_URL Loki push endpoint
JARVIS_AUTH_BASE_URL Auth service URL for validating app credentials

Dependencies

  • Loki -- log storage backend
  • Grafana -- log visualization (optional)
  • jarvis-auth -- validates app-to-app credentials on incoming log requests

Dependents

All services send logs here via jarvis-log-client:

  • jarvis-auth, jarvis-config-service, jarvis-command-center, jarvis-llm-proxy-api, jarvis-whisper-api, jarvis-tts, jarvis-ocr-service, jarvis-recipes-server, jarvis-notifications, jarvis-settings-server, jarvis-mcp, jarvis-admin

Impact if Down

Services continue operating normally. Logs fall back to console output (stdout). No log aggregation or querying until the service is restored. Historical logs in Loki remain accessible once the service comes back.