Telegram Example
The following example shows how to use the library to create a simple telegram logger using the HTML formatter.
import bohicalog
from bohicalog import logger
from dotenv import dotenv_values
import os
config = {
**dotenv_values("../../../.env.shared"), # load shared development variables
**dotenv_values("../../../.env.secret"), # load sensitive variables
**os.environ, # override loaded values with environment variables
}
# Telegram logging
from bohicalog.handlers.telegram import (
HTMLFormatter,
TelegramLoggingHandler,
)
BOT_TOKEN = config["TELEGRAM_BOT_TOKEN"]
CHANNEL_NAME = config["TELEGRAM_BOT_CHAT_ID"]
telegram_handler = TelegramLoggingHandler(
BOT_TOKEN, CHANNEL_NAME, level=bohicalog.INFO, disable_notification=False
)
telegram_handler.setFormatter(HTMLFormatter(use_emoji=True))
logger.addHandler(telegram_handler)
logger.info("Telegram test")
logger.warning("Telegram test")
logger.error("Telegram test")
...
If you execute the above code, you’ll get the following output:
$ python telegram_example.py
[I 2023-01-09 07:41:08 telegram_example:25] Telegram test INFO
[W 2023-01-09 07:41:08 telegram_example:26] Telegram test WARN
[E 2023-01-09 07:41:08 telegram_example:27] Telegram test ERR