A python logging handler that sends logs via Telegram Bot Api.
Project description
A python logging handler that sends logs via Telegram Bot Api
Installation
Via pip:
pip install python-telegram-handler
Usage
Register a new telegram bot and obtain a authentication token. (Instructions here https://core.telegram.org/bots#3-how-do-i-create-a-bot)
After that, you must obtain a chat_id. You can do that using included simple script. Start a new conversation with newly created bot, write something to it (it is important to initiate conversation first).
Then run a command:
telegram_handler <your token here>
If all went ok, a chat_id will be printed to stdout.
Using token and chat_id, configure log handler in your desired way. For example, using dictConfig:
{
'version': 1,
'handlers': {
'telegram': {
'class': 'telegram_handler.TelegramHandler',
'token': 'your token',
'chat_id': 'chat id'
}
},
'loggers': {
'my_logger': {
'handlers': ['telegram'],
'level': 'DEBUG'
}
}
}
Formatting
Currently the format of sent messages is very simple: %(asctime)s %(name)s %(levelname)s %(message)s Exception traceback will be formatted as pre-formatted fixed-width code block. (https://core.telegram.org/bots/api#markdown-style)
If you want to tweak it, configure a telegram_handler.HtmlFormatter with your desired format string. Using a dictConfig:
...
{
'formatters': {
'telegram': {
'class': 'telegram_handler.HtmlFormatter',
'fmt': '%(levelname)s %(message)s'
}
}
'handlers': {
'telegram': {
'class': 'telegram_handler.TelegramHandler',
'formatter': 'telegram',
'token': 'your token',
'chat_id': 'chat id'
}
}
}
...
History
1.1.3 (2016-09-22)
Setting escape_message field of StyledFormatter missed (@ihoru)
1.1.2 (2016-05-13)
Fixed setup.py requires option (changed to install_requires)
1.1.1 (2016-04-20)
Use HTML Formatter as default formatter for telegram handler
1.1.0 (2016-04-20)
Introduced HTML Formatter
Added log text escaping (closed #3)
Added requests timeout setting (closed #1)
Catching and logging all requests and their exceptions (closed #2)
1.0.0 (2016-04-19)
First PyPi release
0.1.0 (2016-04-19)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for python-telegram-handler-1.1.3.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f1ad74e6860fa0f23a81330904da9187562c2891dd4cfc8ab3deaffc6d1143f |
|
MD5 | 9a5e41fbce46651b9e9733faa6ee4d42 |
|
BLAKE2b-256 | f9a7841f2cd90fc0907729ca85c1e79a7e80aee35334a6ca8312e11a4cc0c032 |