Skip to main content

LLM-optimized structured logging and summarization for large-scale debugging.

Project description

🧠 LLM Logger

LLM Logger is a Python logging framework designed for seamless integration with Large Language Models (LLMs).
It produces structured, LLM-friendly logs that can be easily summarized or reasoned about — even across massive, deeply nested codebases.


🚀 Features

  • 🪵 Structured JSON logs (timestamped, contextual, machine-readable)
  • 🧠 LLM-optimized format with reason, inputs, outputs, and semantic tags
  • 📂 Log grouping (start_group, end_group) and function spans
  • 🔌 Modular LLM backend support via environment variable:
    • Ollama (local models)
    • Groq (LLama, Gemma via API)
    • OpenAI (GPT-3.5 / GPT-4)
  • 📊 Summarization CLI with smart filtering and token-aware chunking
  • 💾 Cache for LLM calls with expiration/cleanup
  • 🧪 Test harness to simulate deeply nested logs

📦 Installation

pip install ailogx

🛠️ Basic Usage

from ailogx.core import LLMLogger

log = LLMLogger("my-service")

log.llm_info("User login started", inputs={"username": "admin"})
log.llm_decision("Using 2FA", reason="high-risk user")
log.llm_error("Login failed", reason="Invalid OTP")

🔁 Function Span

with log.function_span("process_payment", reason="checkout flow"):
    # your logic
    pass

📂 Grouping Logs

log.start_group("req-42", reason="incoming API request")
# your logs here
log.end_group("req-42")

📊 LLM Summarization

🧠 Environment-based Backend Selection

Supports:

  • LLM_LOGGER_BACKEND=ollama (default)
  • LLM_LOGGER_BACKEND=groq
  • LLM_LOGGER_BACKEND=openai

🧾 Example

export LLM_LOGGER_BACKEND=groq  # or 'openai', 'ollama'
export GROQ_API_KEY="your-groq-api-key"
- You must have a Groq account.
- Supported models: gemma3, llama3-70b, etc.

export OPENAI_API_KEY="your-openai-api-key"
- You must have an OpenAI API key.Models like gpt-3.5-turbo, gpt-4, etc. are supported.

For selecting Models : 
| Backend  | Env Var to Set | Example Value         |
|----------|----------------|-----------------------|
| groq     | GROQ_MODEL     | llama-3-70b-8192      |
| openai   | OPENAI_MODEL   | gpt-4o                |
| ollama   | OLLAMA_MODEL   | llama3                |

python -m ailogx.summarize simulated_logs/deep_nested_logs.jsonl --filter=smart --fast

For using with relevant intent:
python -m ailogx.summarize huge_app_logs.jsonl --filter=smart --fast --intent "focus on authentication and signup failures"

Or call from Python:

from ailogx.summarizer.summarizer import multi_pass_summarize
from ailogx.backends.registry import get_analyzer
import json

with open("llm_logs.jsonl") as f:
    logs = [json.loads(line) for line in f]

summary = multi_pass_summarize(logs, get_analyzer())
print(summary)

🧪 Test Harness

Generate deep, nested logs for benchmarking:

python ailogx/core.py

Outputs:

  • llm_simulated_logs.jsonl (LLMLogger)
  • standard_simulated_logs.log (Python logging)

🔁 Cache & Optimization

  • ✅ LLM responses cached to .cache/
  • 🧠 Token-aware chunking
  • 🔎 Smart filtering (--filter=smart, --intent="auth errors")
  • --fast mode for shallow summaries before full deep dives

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

ailogx-1.1.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

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

ailogx-1.1.0-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file ailogx-1.1.0.tar.gz.

File metadata

  • Download URL: ailogx-1.1.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for ailogx-1.1.0.tar.gz
Algorithm Hash digest
SHA256 ca3a08630e82bb65ee1aefe094066ff7d8f8a564fc05e168cf34946ed4aa14fd
MD5 6b48fbd66b4c2befb3776d99e851a161
BLAKE2b-256 8d7c7435e36c2c11432f867be606e71ee02fe54d8cb6fd9c51694427f54fa8ca

See more details on using hashes here.

File details

Details for the file ailogx-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: ailogx-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for ailogx-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 88ad3293740be129c0eb7628bd0c2422c3961f0e14a4cf5e27d8d07eb1f129ac
MD5 436e45c9e31aabe9cd727b8f2119b78c
BLAKE2b-256 a5ad2f98189a8c444e047dd767d6ad0116c0f20e885d84b5bc2484d34f275629

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