https://github.com/otter18/tg_logger
Python library that bridges logging and user files to telegram bot
https://github.com/otter18/tg_logger
filesharing logging logging-handler telegram telegram-bot tg-logger
Last synced: 3 months ago
JSON representation
Python library that bridges logging and user files to telegram bot
- Host: GitHub
- URL: https://github.com/otter18/tg_logger
- Owner: otter18
- License: mit
- Created: 2021-01-01T11:53:01.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-06-22T17:20:48.000Z (about 3 years ago)
- Last Synced: 2025-08-16T08:44:35.993Z (10 months ago)
- Topics: filesharing, logging, logging-handler, telegram, telegram-bot, tg-logger
- Language: Python
- Homepage: https://pypi.org/project/tg-logger/
- Size: 494 KB
- Stars: 39
- Watchers: 2
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#  Telegram logger [](https://github.com/otter18/tg_logger/stargazers)
[](https://pypi.org/project/tg-logger/)
[](https://pepy.tech/project/tg-logger)
[](https://github.com/otter18/tg_logger/blob/main/LICENSE)
[](https://tg-logger.readthedocs.io/en/latest/?badge=latest)
Bridging python logging and files to tg bot
Documentation is available at [Read the Docs](https://tg-logger.readthedocs.io/)
Demo is available [@tg_logger_demo_bot](https://t.me/tg_logger_demo_bot), [[repo](https://github.com/otter18/tg-logger-demo-bot)]

## 🗂 Table of Contents
- [Installation & Usage](#-installation--usage)
- [Screenshot](#-screenshot)
- [Examples](#-examples)
* [Simple logging](#simple-logging)
* [Flask logging](#flask-logging)
* [Setting extra parameters to handler](#setting-extra-parameters-to-handler)
* [TgFileLogger example](#tgfilelogger-example)
- [FQA](#-fqa)
* [How to create a telegram bot?](#how-to-create-a-telegram-bot)
* [How to get **token** and **user_id**?](#how-to-get-token-and-user_id)
## 🚀 Installation & Usage
- Available by `pip install tg-logger`
- Use with `import tg_logger`
## 📱 Screenshot

## 📖 Examples
### Simple logging
```python
import logging
import tg_logger
# Telegram data
token = "1234567890:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
users = [1111111111]
# Base logger
logger = logging.getLogger('foo')
logger.setLevel(logging.INFO)
# Logging bridge setup
tg_logger.setup(logger, token=token, users=users)
# Test
logger.info("Hello from tg_logger by otter18")
```
### Flask logging
```python
from flask import Flask
import logging
import tg_logger
# Telegram data
token = "1234567890:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
users = [1111111111]
# Flask app setup
app = Flask(__name__)
app.logger.setLevel(logging.ERROR) # flask logger
tg_logger.setup(app.logger, token=token, users=users) # bridge setup
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
```
### Setting extra parameters to handler
```python
import logging
import tg_logger
# Telegram data
token = "1234567890:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
users = [1111111111]
# Base logger
logger = logging.getLogger('foo')
logger.setLevel(logging.INFO)
# Logging bridge setup
handler = tg_logger.setup(logger, token=token, users=users)
# Setting extra params
handler.setLevel(logging.DEBUG)
# Test
logger.info("Hello from tg_logger by otter18")
```
### TgFileLogger example
```python
import tg_logger
# Telegram data
token = "1234567890:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
users = [1111111111]
# TgFileLogger example
tg_files_logger = tg_logger.TgFileLogger(
token=token, # tg bot token
users=users, # list of user_id
timeout=10 # 10 seconds by default
)
file_name = "test.txt"
with open(file_name, 'w') as example_file:
example_file.write("Hello from tg_logger by otter18")
tg_files_logger.send(file_name, "Test file")
```
## 🔎 FQA
### How to create a telegram bot?
- To create bot use official [BotFather](https://t.me/BotFather) bot (descibed [here](https://core.telegram.org/bots#6-botfather))
### How to get **token** and **user_id**?
- Use [@tg_logger_demo_bot](https://t.me/tg_logger_demo_bot) with command `/id`
- Bot's **token** is shown after new bot is made
- To get **user_id** use special bots (e.g. [@userinfobot](https://t.me/userinfobot), [@JsonDumpBot](https://t.me/JsonDumpBot))