Upgrade log files with rolling file per day
This commit is contained in:
parent
eac1820d3a
commit
f90e69a979
3 changed files with 21 additions and 11 deletions
|
@ -13,6 +13,7 @@ from sqlalchemy.orm import sessionmaker
|
|||
from TelegramEDT.EDTcalendar import Calendar
|
||||
from TelegramEDT.base import Base, User
|
||||
from TelegramEDT.lang import lang
|
||||
from TelegramEDT.logger import logger
|
||||
|
||||
tables = False
|
||||
if not isdir("logs"):
|
||||
|
@ -22,14 +23,6 @@ if not isdir("calendars"):
|
|||
if not isfile("edt.db"):
|
||||
tables = True
|
||||
|
||||
logger = logging.getLogger("TelegramEDT")
|
||||
log_date = datetime.datetime.now(datetime.timezone.utc).astimezone(tz=None).date()
|
||||
logging.basicConfig(
|
||||
filename=f"logs/{log_date}.log",
|
||||
format="{%(levelname)s}[%(asctime)s]: %(name)s | %(message)s",
|
||||
level=logging.INFO,
|
||||
)
|
||||
|
||||
if not isfile("token.ini"):
|
||||
logger.critical("No token specified, impossible to start the bot !")
|
||||
exit(1)
|
||||
|
|
15
TelegramEDT/logger.py
Normal file
15
TelegramEDT/logger.py
Normal file
|
@ -0,0 +1,15 @@
|
|||
import logging
|
||||
from logging import handlers
|
||||
|
||||
log_format = "{%(levelname)s}[%(asctime)s]: %(name)s | %(message)s"
|
||||
|
||||
logging.basicConfig(
|
||||
format=log_format,
|
||||
level=logging.INFO
|
||||
)
|
||||
logger = logging.getLogger("TelegramEDT")
|
||||
handler = handlers.TimedRotatingFileHandler("logs/current.log", when="d", interval=1)
|
||||
handler.suffix = "%Y-%m-%d"
|
||||
handler.style = log_format
|
||||
handler.setFormatter(logging.Formatter(log_format))
|
||||
logger.addHandler(handler)
|
|
@ -1,9 +1,11 @@
|
|||
import datetime
|
||||
|
||||
from aiogram import types
|
||||
from aiogram.types import ParseMode
|
||||
from aiogram.utils import markdown
|
||||
from aiogram.utils.exceptions import MessageIsTooLong
|
||||
|
||||
from TelegramEDT import ADMIN_ID, bot, dbL, dp, key, log_date, logger, session, check_id
|
||||
from TelegramEDT import ADMIN_ID, bot, dbL, dp, key, logger, session, check_id
|
||||
from TelegramEDT.base import User
|
||||
|
||||
logger = logger.getChild("tools")
|
||||
|
@ -24,11 +26,11 @@ async def get_logs(message: types.Message):
|
|||
int(message.text[9:])
|
||||
except ValueError:
|
||||
await message.chat.do(types.ChatActions.UPLOAD_DOCUMENT)
|
||||
await message.reply_document(types.InputFile(f"logs/{log_date}.log"), caption=f"The {log_date} logs",
|
||||
await message.reply_document(types.InputFile(f"logs/current.log"), caption="The logs file",
|
||||
reply_markup=key)
|
||||
else:
|
||||
await message.chat.do(types.ChatActions.TYPING)
|
||||
logs = (open(f"logs/{log_date}.log", "r").readlines())[-int(message.text[9:]):]
|
||||
logs = (open(f"logs/current.log", "r").readlines())[-int(message.text[9:]):]
|
||||
log = str()
|
||||
for i in logs:
|
||||
log += i
|
||||
|
|
Reference in a new issue