Skip to main content

🧠 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

Release files for ailogx 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ailogx 1.1.0
File Size Uploaded
ailogx-1.1.0.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ailogx 1.1.0
File Interpreter ABI Platform
ailogx-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.3 kB

Release files / ailogx-1.1.0.tar.gz

Download URL ailogx-1.1.0.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ca3a08630e82bb65ee1aefe094066ff7d8f8a564fc05e168cf34946ed4aa14fd
BLAKE2b-256 checksum
How to use checksums
8d7c7435e36c2c11432f867be606e71ee02fe54d8cb6fd9c51694427f54fa8ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / ailogx-1.1.0-py3-none-any.whl

Download URL ailogx-1.1.0-py3-none-any.whl
Size 17.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
88ad3293740be129c0eb7628bd0c2422c3961f0e14a4cf5e27d8d07eb1f129ac
BLAKE2b-256 checksum
How to use checksums
a5ad2f98189a8c444e047dd767d6ad0116c0f20e885d84b5bc2484d34f275629
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page