An interactive commandline interface that brings intelligence to your logs.
Project description
Loguru CLI
An interactive commandline interface that brings intelligence to your logs.
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
orfaiss-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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file loguru_cli-0.0.9-py3-none-any.whl
.
File metadata
- Download URL: loguru_cli-0.0.9-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d27c0a1b181c6f56424561f9daa6afe4d80c077858566ee6ff43935149a59019 |
|
MD5 | 1bed77140481203f0a01b515a490226b |
|
BLAKE2b-256 | 1f01b15652cff48d9b3f88446d7c9f5892fe6cd302d30e92cc02fa5cc5c5b1bf |