|
import sys
|
|
import logging
|
|
import pytz
|
|
from pytz.tzinfo import BaseTzInfo
|
|
from datetime import datetime
|
|
|
|
|
|
|
|
def setup_logging(log_to_file: bool, level: int, timezone: BaseTzInfo) -> None:
|
|
'''Настройка логгирования под конкретный часовой пояс'''
|
|
logging.Formatter.converter = lambda *args: datetime.now(tz=timezone).timetuple()
|
|
handlers = [logging.StreamHandler(sys.stdout)]
|
|
|
|
if log_to_file:
|
|
log_file_name = 'bot_log.log'
|
|
handlers.append(logging.FileHandler(log_file_name))
|
|
|
|
format = '%(asctime)s - %(filename)s:%(lineno)d - %(levelname)s - %(funcName)s: %(message)s'
|
|
logging.basicConfig(
|
|
level=level,
|
|
format=format,
|
|
datefmt='%Y-%m-%d %H:%M:%S',
|
|
handlers=handlers,
|
|
force=True,
|
|
)
|
|
|
|
LOG_TO_FILE = False
|
|
LEVEL = logging.INFO
|
|
TIMEZONE: BaseTzInfo = pytz.timezone('Europe/Moscow')
|
|
|
|
setup_logging(log_to_file=LOG_TO_FILE, level=LEVEL, timezone=TIMEZONE) |