Skip to main content

🚀 telegram-logger-client: Your Log's New Best Friend

CI version license

py-telegram-logger-client

Welcome to the telegram-logger-client - where your logs go to become stars!

🛠 Prerequisites

Before you dive in, make sure you've got your backstage pass ready:

  1. You'll need to set up and run the telegram-logger service. It's like the bouncer at the club - without it, your logs aren't getting in.

  2. Head over to https://github.com/psyb0t/telegram-logger for the VIP instructions on setting up the telegram-logger service.

  3. Once you've got that service up and running, come back here and let's make some noise!

🎭 Installation (No Secret Handshake Required)

Install this badass as a module and executable:

pip install telegram-logger-client

Go with pipx to just use it as an executable:

pipx install telegram-logger-client

🕹️ Usage (AKA How to Make Some Noise)

🐍 As a Python Module

Summon the TelegramLoggerClient in your Python code:

from telegram_logger_client import TelegramLoggerClient

# Create your logger
logger = TelegramLoggerClient("https://your-logger-url.com", "your-secret-token")

# Send a log (it's like tweeting, but geekier)
logger.send_log(
    caller="CoffeeBot",
    level="warning",
    message="Coffee levels critically low!",
    error="Caffeine deficiency detected",
    request_id="coffee-run-42",
    trace_id="from-bed-to-coffee-machine",
    span_id="mug-to-mouth",
    data={"coffee_type": "Espresso", "sugar": False, "milk": "Oat"}
)

🔌 Attaching to Existing logging.loggers

Want to supercharge your existing logger with Telegram powers? We've got you covered! Use the attach_to_logger function to add Telegram logging to any logger instance:

import logging
from telegram_logger_client import attach_to_logger

# Basic configuration for console output
logging.basicConfig(level=logging.DEBUG)

# Create your logger
logger = logging.getLogger("your_logger_name")

# Set up Telegram logging
attach_to_logger(logger)

# Use the logger as usual
logger.info("This will be sent to Telegram Logger and output to stdout")

The attach_to_logger function is like a magic wand that adds Telegram logging capabilities to your existing logger. It takes care of all the behind-the-scenes work, so you can focus on what really matters - logging your heart out!

Parameters for attach_to_logger:

  • logger: Your existing logger instance (required)
  • base_url: The URL where your Telegram Logger service lives (optional if set in environment)
  • x_id: Your secret Telegram Logger handshake (optional if set in environment)
  • level: Set a specific logging level for Telegram logging (optional)
  • show_originating_file: Show the origin of the log (optional)

Don't forget to set your TELEGRAM_LOGGER_BASE_URL and TELEGRAM_LOGGER_X_ID environment variables, or pass them directly to attach_to_logger. Now go forth and log like a boss! 🚀📝

🖥️ Command Line Magic

First, set up your secret lair:

export TELEGRAM_LOGGER_BASE_URL=https://your-logger-url.com
export TELEGRAM_LOGGER_X_ID=your-secret-token

Now, shout into the void (or just send a log):

telegram-logger-client \
    --caller "WeatherBot" \
    --level "info" \
    --message "It's raining cats and dogs!" \
    --error "Umbrella malfunction" \
    --request-id "weather-101" \
    --trace-id "cloud-to-ground" \
    --span-id "drop-to-splash" \
    --data '{"temperature": "chilly", "wind": "breezy"}'

Want to see every little detail? Add the --debug flag:

telegram-logger-client \
    --debug \
    --caller "WeatherBot" \
    --level "info" \
    --message "It's raining cats and dogs!"

🎭 Logging Levels (Choose Your Adventure)

The client itself has two modes:

  • Normal Mode (default): "Just the highlights" mode
  • Debug Mode: "I can hear a pin drop" mode

Your logs, on the other hand, can be as dramatic as you want:

  • "debug": "console.log" level
  • "info": "Just FYI" level
  • "warning": "Hmm, that's interesting" level
  • "error": "Houston, we have a problem" level

🧙‍♂️ API Reference (The Boring but Important Bit)

🔮 TelegramLoggerClient

__init__(base_url: str, x_id: str)

Create your logger. Feed it URLs and tokens.

send_log(...)

Send your log on a grand adventure. Pack its bags with:

  • caller: Who's making all this noise?
  • level: How important is this, really?
  • message: What's the scoop?
  • error: What went boom?
  • request_id: A unique ID for this particular escapade
  • trace_id: For retracing your steps
  • span_id: A slice of time in the grand timeline
  • data: Any extra bits and bobs

Returns a requests.Response object (a postcard from your log's journey).

🗝️ Environment Variables (Your Logger's Secret Code)

  • TELEGRAM_LOGGER_BASE_URL: Where your logs call home
  • TELEGRAM_LOGGER_X_ID: Your logger's super-secret identity

🎲 Command Line Arguments (For When You're Feeling Bossy)

  • --debug: Unleash the full power of logging (optional)
  • --base-url: A new home for your logs
  • --x-id: A new secret identity
  • --caller: Who's calling?
  • --level: On a scale of "meh" to "THE WORLD IS ENDING!"
  • --message: Your log's 15 minutes of fame
  • --error: What's gone sideways?
  • --request-id: This log's personal serial number
  • --trace-id: Breadcrumbs in the digital forest
  • --span-id: A moment in time
  • --data: Everything else but the kitchen sink

Remember: Command line arguments are the divas of the coding world - they always steal the show from environment variables.

📜 License (The Fine Print)

This project is unleashed under the WTFPL License – Do What The F**k You Want To Public License. Your imagination is the only limit, push it to the boundaries!

Now go forth and log like there's no tomorrow! May your errors be few and your insights be plentiful. Happy logging! 📝🚀

Metadata

Release files for telegram-logger-client 0.2.3

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

Source distribution (sdist)

Source distribution for telegram-logger-client 0.2.3
File Size Uploaded
telegram_logger_client-0.2.3.tar.gz 331.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for telegram-logger-client 0.2.3
File Interpreter ABI Platform
telegram_logger_client-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 339.5 kB

Release files / telegram_logger_client-0.2.3.tar.gz

Download URL telegram_logger_client-0.2.3.tar.gz
Size 331.1 kB
Tags Source
SHA-256 checksum
How to use checksums
29278ac2b414740774116843d4bc9f5a1e582c5c08069128fb782a58d91005bd
BLAKE2b-256 checksum
How to use checksums
598aa777cb17c2a48483f37ca1e655795404d117bd4efb622ccff46f9fc9d479
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / telegram_logger_client-0.2.3-py3-none-any.whl

Download URL telegram_logger_client-0.2.3-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f77af5e1fc66fae3eacd0f9d43c01f326840f5cb6a37aaa791451fd246af1d8c
BLAKE2b-256 checksum
How to use checksums
ac78bc0e1bb8337f7bdeecdca683bb6601a6dcea637d258814db2e526ebf86f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.1.1

2 release files

0.1.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