Skip to main content

RSE standard logging with correlation id, Vault-backed Telegram alerts, and FastAPI middleware.

Project description

rse-logging

RSE standard logging package for Python APIs.

Features:

  • colored console logs
  • request correlation id with ContextVar
  • FastAPI middleware for X-Correlation-ID
  • helper functions: log_info, log_warning, log_error
  • Telegram alerts for ERROR logs in stg and prd
  • Telegram credentials loaded from HashiCorp Vault

Usage

from fastapi import FastAPI
from rse_logging import CorrelationIdMiddleware, log_error, setup_logger

setup_logger("my-api")

app = FastAPI()
app.add_middleware(CorrelationIdMiddleware)

log_error("startup", "Example error")

Diagnostics

To debug Telegram/Vault configuration without printing tokens:

from rse_logging import diagnose_telegram, setup_logger

setup_logger("my-api")
print(diagnose_telegram(send_test_message=True))

Set RSE_LOGGING_DEBUG=true to print skipped Telegram alert reasons to stderr.

Vault

Telegram alerts are enabled only when RSE_ENV is stg or prd.

The package reads Vault using:

  • RSE_ENV as the KV v2 mount point
  • RSE_VAULT_HOST as the Vault URL
  • RSE_VAULT_TOKEN as the Vault token
  • shared as the default secret path

Expected keys:

telegram_bot_token
telegram_chat_id

Examples:

stg/shared.telegram_bot_token
stg/shared.telegram_chat_id
prd/shared.telegram_bot_token
prd/shared.telegram_chat_id

Set RSE_LOGGING_TELEGRAM_ENABLED=false to disable Telegram alerts.

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

rse_logging-0.1.4.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

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

rse_logging-0.1.4-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file rse_logging-0.1.4.tar.gz.

File metadata

  • Download URL: rse_logging-0.1.4.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.0 Windows/10

File hashes

Hashes for rse_logging-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e17c3c882d3082a0770cb3686b2e9f6ab02e80ea2fbf60b1c68bcbe20f627110
MD5 c5c2a9ba366465e98be32d3bccc07bbf
BLAKE2b-256 cdc28b349a89f29a4619209b75c0e61340eeaac2e56183fbb412977a9748c2ef

See more details on using hashes here.

File details

Details for the file rse_logging-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: rse_logging-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.0 Windows/10

File hashes

Hashes for rse_logging-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a890c10a05f98e0b598b1e2b463c5bb08c60c319a8405a64a6e7deee9be48cb0
MD5 b13db1d279c245ba2faf4abb7b255b33
BLAKE2b-256 94dd5cd8947e1b083d2e5cc5fe36ca96141f182140f5275d97c262d678b3828b

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