Last updated:
0 purchases
prlpslogger 0.0.1
че это
пример простейшего логгера, который будет выводить логги в консоль и записывать их в лог-файл.
содержит пример обработки строк:
удаление из логов токенов телеграм-ботов
исключение из логгирования getUpdates и sendChatAction
подсветка цветами разных событий и уровней логгирования в консоли (и в html-логе)
может создать html-файл для удобного просмотра последнего лога
как использовать:
сначала установить: pip install prlps-logger
пример использования:
import os
# импортируем библиотеку:
from prlps_logger import Logger
# указываем путь до файла с логами куда будет все записываться:
current_py_file = os.path.abspath(__file__) # путь до текущего файла
workdir = os.path.dirname(current_py_file) # путь до рабочей папки с этим файлом
os.makedirs(os.path.join(workdir, "logs"), exist_ok=True) # создание папки для логов
log_file_name = f"{os.path.splitext(os.path.basename(current_py_file))[0]}_{os.path.basename(os.path.dirname(current_py_file))}.log" # создание имени для файла логов
log_file = os.path.join(workdir, "logs", log_file_name) # установка пути до файла логов
# код выше можно пропустить и указать любой путь до файла где будут логи (создавать его не нужно):
# log_file = "C:/Users/User/Desktop/logfile.txt"
# создание экземпляра класса с нужным уровнем логгирования:
logger = Logger(log_file, 'DEBUG')
# уровень логгирования можно не указывать, тогда по умолчанию будет 'WARN':
# logger = Logger(log_file)
# предположим далее какой-то твой код
# если в коде возникнет не перехваченное исключение, то оно с трейсбеком будет записано в файл логов и выведено в консоль
# для подробного логгирования ты можешь сам вызывать логгер с нужным уровнем в необходимых участках кода:
logger.warn('https://api.telegram.org/bot123232324234/ неправильный токен!')
logger.error('https://api.telegram.org/bot856764534234/ ошибка соединенеия')
logger.info('получен ответ от api: {response}')
logger.crit('https://api.telegram.org/bot856764534234/ flood control')
logger.event('результаты получены: {results}')
try:
my_iq = ((0 + 0) * 0) ** 0 / 0
except Exception as e:
# тут твоя какая-то обработка исключения...
logger.error(f'ты больной?\n{e}') # логгирование
# посмотрим как логгируются не обработанные исключения:
# my_iq = ((0 + 0) * 0) ** 0 / 0
# лог (только созданный этим логгером) можно передать в виде html-файла для удобного просмотра или вывода куда-то, например на страницу через fastapi и т.п.
html_log = logger.log_to_html() # создаст файл для текущего лога, аналогично вызову logger.log_to_html(log_file)
# или создать html-файл с указанием пути до конкретного лог-файла, не обязательно текущего
# html_log = logger.log_to_html(log_file) # для текущего лога
# html_log = logger.log_to_html('/path/to/file.log.3') # для какого-то другого лог-файла, например после ротации логов
# метод возвращает полный путь до созданного файла html, можно посмотреть или потом что-то с этим сделать:
print(html_log)
играйся 😊
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.