Skip to main content

Loguru CLI

An interactive commandline interface that brings intelligence to your logs.

PyPI - Version PyPI - Downloads

What is it?

Loguru-CLI (read as "Log Guru" 📋🧘) is a Python package that brings intelligence to your logs. It is designed to be a universal tool for log aggregation and analysis, with seamless integrations with any LLM (Large Language Model), whether self-hosted or cloud-based.

Features

  • Leverage LLMs to gain insights from your logs.
  • Easily integrate with any LLM (self-hosted or cloud-service offerings).
  • Easily hook up any log sources to gain insights on your logs. Perform refined/advanced queries supported by the logging platform/tool (by applying capabilities such as function-calling (tooling) of LLM) and gain insights on the results.
  • Save and replay history.
  • Scan and rebuild index from your logs.

[!NOTE] Currently supports filesystem-based logs only, with plans to extend support to more log sources soon.

Roadmap

Log sources

Log Source Availability
Log files ✅️
ELK Stack
Graylog

LLM Integrations

LLM Integration Availability
Ollama ✅️
Gemini ✅️
OpenAI
Amazon Bedrock

Getting Started

pip install loguru-cli

[!NOTE]
Install one of these based on your environment - faiss-gpu==1.7.2 or faiss-cpu==1.8.0.post1

Show config

loguru show-config

Scan and rebuild index from log files

loguru scan

Run app

loguru run

Example Interactions

>>> List all the errors

1. The error message indicates that there is a problem connecting to the PostgreSQL database at localhost on port 5432. Specifically, it says "Connection refused". This means that either the hostname or port number is incorrect, or the postmaster (the process that manages the PostgreSQL server) is not accepting TCP/IP connections.
2. The stack trace shows that the problem is occurring in the HikariCP connection pool, which is being used to manage connections to the database. Specifically, it says "Exception during pool initialization". This suggests that there may be a problem with the configuration of the connection pool or the database connection settings.
3. It is also possible that there is a firewall or network issue preventing the connection from being established. For example, if there is a firewall on the server running PostgreSQL, it may be blocking incoming connections on port 5432.

Sample Config

{
  "service": "gemini",
  "gemini": {
    "api_key": "your-api-key",
    "llm_name": "gemini-1.5-flash"
  },
  "ollama": {
    "hosts": [
      "http://localhost:11434/"
    ],
    "llm_name": "mistral",
    "embedding_model_name": "all-MiniLM-L6-v2",
    "options": {
      "temperature": 0.1
    }
  },
  "num_chunks_to_return": 100,
  "data_sources": [
    {
      "type": "filesystem",
      "ds_params": {
        "recursion_depth": 2,
        "file_size_limit": "100MB",
        "scan_locations": [
          {
            "location": "/path/to/log-dir",
            "pattern": "(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}[+-]\\d{2}:\\d{2})"
          },
          {
            "location": "/path/to/another-log-dir",
            "pattern": "(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}[+-]\\d{2}:\\d{2})"
          }
        ]
      }
    }
  ]
}

Development

Install the libs

make libs

Setup as a local dev installation

make dev-install

Build wheel

make wheel

Contributing

Contributions are most welcome! Whether it's reporting a bug, proposing an enhancement, or helping with code - any sort of contribution is much appreciated.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for loguru-cli 0.0.9

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

Built distribution (wheel)

Table of built distributions (wheels) for loguru-cli 0.0.9
File Interpreter ABI Platform
loguru_cli-0.0.9-py3-none-any.whl Python 3 none any Details

Release files / loguru_cli-0.0.9-py3-none-any.whl

Download URL loguru_cli-0.0.9-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d27c0a1b181c6f56424561f9daa6afe4d80c077858566ee6ff43935149a59019
BLAKE2b-256 checksum
How to use checksums
1f01b15652cff48d9b3f88446d7c9f5892fe6cd302d30e92cc02fa5cc5c5b1bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.14

Release history Release notifications | RSS feed

This release

0.0.9 This release

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

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