Добавил новые функции #1
58
custom_logger.py
Normal file
58
custom_logger.py
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
import logging
|
||||||
|
import os
|
||||||
|
import datetime
|
||||||
|
from logging.handlers import RotatingFileHandler
|
||||||
|
|
||||||
|
|
||||||
|
class Logger:
|
||||||
|
def __init__(self, name):
|
||||||
|
# Инициализация логгера
|
||||||
|
self.logger = logging.getLogger(name) # Сохраняем logger как свойство класса
|
||||||
|
self.logger.setLevel(logging.INFO)
|
||||||
|
|
||||||
|
# Формат записи логов
|
||||||
|
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(filename)s - %(lineno)d - %(message)s')
|
||||||
|
|
||||||
|
# Получение сегодняшней даты для имени файла
|
||||||
|
today = datetime.date.today().strftime('%Y-%m-%d')
|
||||||
|
|
||||||
|
# Создание папки для логов
|
||||||
|
current_dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
logs_dir = os.path.join(current_dir, 'logs')
|
||||||
|
if not os.path.exists(logs_dir):
|
||||||
|
# Если не существует, создаем ее
|
||||||
|
os.makedirs(logs_dir)
|
||||||
|
filename = f'logs/helper_bot_{today}.log'
|
||||||
|
|
||||||
|
# Создание обработчика для файла логов
|
||||||
|
file_handler = RotatingFileHandler(
|
||||||
|
filename,
|
||||||
|
mode='a',
|
||||||
|
maxBytes=10 * 1024 * 1024, # Максимальный размер файла (10 МБ)
|
||||||
|
backupCount=3 # Количество резервных файлов
|
||||||
|
)
|
||||||
|
file_handler.setFormatter(formatter)
|
||||||
|
|
||||||
|
# Добавление обработчика к логгеру
|
||||||
|
self.logger.addHandler(file_handler)
|
||||||
|
|
||||||
|
# Добавление стандартного обработчика
|
||||||
|
# чтобы сообщения также отображались на консоли
|
||||||
|
console_handler = logging.StreamHandler()
|
||||||
|
console_handler.setFormatter(formatter)
|
||||||
|
self.logger.addHandler(console_handler)
|
||||||
|
|
||||||
|
def info(self, message):
|
||||||
|
self.logger.info(message)
|
||||||
|
|
||||||
|
def debug(self, message):
|
||||||
|
self.logger.debug(message)
|
||||||
|
|
||||||
|
def warning(self, message):
|
||||||
|
self.logger.warning(message)
|
||||||
|
|
||||||
|
def error(self, message):
|
||||||
|
self.logger.error(message)
|
||||||
|
|
||||||
|
def critical(self, message):
|
||||||
|
self.logger.critical(message)
|
||||||
Reference in New Issue
Block a user