Skip to main content

Intelligent Log Root Cause Analysis — one command opens a full React dashboard.

Project description

CausaLog 🔍

Intelligent Log Root Cause Analysis — one command, instant dashboard.

Quick start

pip install causalog
python -m spacy download en_core_web_sm

causalog run                     # auto-discovers .log/.json in current directory
causalog run /var/log/app.log    # explicit file
causalog run logs/               # scan a directory

Opens an interactive React dashboard at http://localhost:8000 showing:

  • Dashboard — metric cards, system health timeline, AI insights, root cause hypotheses
  • Analysis — full paginated log stream with filtering by level/service/keyword
  • Clusters — grouped log clusters with severity, keywords, sparklines
  • Timelines — area chart of errors/anomalies over time with spike markers and debug runbooks

Options

causalog run app.log --port 9000       # custom port
causalog run app.log --no-browser      # server only, no browser popup
causalog run app.log --no-server       # terminal report only
causalog run app.log --report out.json # also save a JSON report
causalog version

Windows install troubleshooting

If editable install fails with:

[WinError 32] ... python...\Scripts\causalog.exe is being used by another process

it means a running causalog process is locking the executable. Stop it first, then reinstall:

Get-CimInstance Win32_Process |
  Where-Object { $_.ExecutablePath -like "*\\Python314\\Scripts\\causalog.exe" } |
  ForEach-Object { Stop-Process -Id $_.ProcessId -Force }

python -m pip install -e .

Tip: always use python -m pip ... to ensure you are installing into the same Python interpreter.

How it works

Log file upload
      ↓
Preprocessing    (Pandas + Regex) — parse timestamps, levels, services
      ↓
NLP Extraction   (spaCy)          — extract keywords from messages
      ↓
Clustering       (TF-IDF+KMeans)  — group similar log entries
      ↓
Anomaly Detection(IsolationForest)— flag statistically unusual entries
      ↓
Ontology Mapping (keyword→cause)  — map to root cause categories
      ↓
RCA Engine       (rule-based)     — frequency + per-error details
      ↓
Intelligence Layer               — hypotheses, confidence scores,
                                   temporal trend analysis,
                                   actionable debug suggestions
      ↓
React Dashboard  (FastAPI + CDN)  — live, connected, no npm needed

Requirements

  • Python ≥ 3.9
  • spaCy English model: python -m spacy download en_core_web_sm

Stack

Layer Technology
Backend API FastAPI + Uvicorn
Frontend React 18 + Recharts (CDN, no npm)
ML/NLP scikit-learn, spaCy
Data Pandas, NumPy

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

causalog-1.0.1.tar.gz (44.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

causalog-1.0.1-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

Details for the file causalog-1.0.1.tar.gz.

File metadata

  • Download URL: causalog-1.0.1.tar.gz
  • Upload date:
  • Size: 44.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for causalog-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4e656847e99c7f2804f8a62cb4fb85f335ef3ae839a79b9d298a1c3d9cb25e21
MD5 94130f1f835006507a557f025f81cd7f
BLAKE2b-256 ce9c90eceba761b249fd5cf4bcacf51a020e6069a66e87928aa825739f3bfd34

See more details on using hashes here.

File details

Details for the file causalog-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: causalog-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 43.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for causalog-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 169a002c474f685329d7525f473ce796560702387f7bd333b974f29c26f27571
MD5 4864c4492acaf4d77351f260832c7b0e
BLAKE2b-256 166a5093b7488aefe8b825964834e0f2874aac5f195f8a3404a4a7f5b40af715

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page