ai_logstash
A versatile logging package that supports both synchronous and asynchronous logging in Python, with Logstash integration for centralized log management and monitoring.
Features
- Supports both synchronous and asynchronous logging
- Integrates seamlessly with Logstash
- Masks sensitive information automatically
- Provides decorators for automatic exception logging
- Includes environment variables and local variables in logs
- Compatible with various Python applications, including FastAPI and Aiogram
Installation
Using pipenv (recommended)
[packages]
pipenv install ai_logstash
Using pip
pip install ai_logstash
Usage
Synchronous Logging
from ai_logstash import SyncAiLogger, sync_log_exception
logger = SyncAiLogger(
'my-service',
project_name="work_wallet",
masked_variables_names=["PRIVATE", "password", "api_key"],
logstash_host="logstash.example.com",
logstash_port=5000,
container_tag="1.0",
environment="production"
)
@sync_log_exception(logger)
def my_function():
logger.info("Starting my_function")
# Your code here
Asynchronous Logging (e.g., for FastAPI or Aiogram)
from ai_logstash import AsyncAiLogger, create_async_error_handler
logger = AsyncAiLogger(
'my-async-service',
project_name="work_wallet",
masked_variables_names=["PRIVATE", "password", "api_key"],
logstash_host="logstash.example.com",
logstash_port=5000,
container_tag="1.0",
environment="production"
)
errors_handler = create_async_error_handler(logger)
@errors_handler
async def my_async_function():
await logger.info("Starting my_async_function")
# Your async code here
Configuration
service_name: Name of your serviceproject_name: Name of your project (work_wallet, payout_bot, etc.)masked_variables_names: List of sensitive variable names to be maskedlogstash_host: Hostname of your Logstash serverlogstash_port: Port of your Logstash servercontainer_tag: Tag for container versionenvironment: Deployment environment (e.g., "production", "development")log_level: Logging level (default: "INFO")
Benefits
- Centralized logging with Logstash integration
- Automatic masking of sensitive information
- Easy integration with various Python frameworks
- Supports both synchronous and asynchronous applications
- Includes detailed error information and environment variables
Metadata
Release files for ai-logstash 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ai_logstash-0.7.0.tar.gz | 5.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ai_logstash-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.6 kB
Release files / ai_logstash-0.7.0.tar.gz
| Download URL | ai_logstash-0.7.0.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bcc39e071517fb557e559dc797f1ffae6c7c2bdc6d0ef85539926e454fe87f57
|
|
BLAKE2b-256 checksum How to use checksums |
87c1eacf46fef1acb05d129cfb147c13b084559a62a83759546eb3b26a9a27bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.9
|
Release files / ai_logstash-0.7.0-py3-none-any.whl
| Download URL | ai_logstash-0.7.0-py3-none-any.whl |
|---|---|
| Size | 4.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f7c9ac62453aaca8e78706b67542842652a90f2d798de51f9fac14e59a04bf5c
|
|
BLAKE2b-256 checksum How to use checksums |
da4bcb1ee8e1cc715d49d8ce61dfa0eefaef17b21a1aca8fe683d9ddfd18bb08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.9
|