Updated logging system

This commit is contained in:
Choco
2024-03-22 09:58:56 +08:00
parent f713276c6f
commit 9e6149dc97
2 changed files with 18 additions and 16 deletions

21
main.py
View File

@@ -152,19 +152,20 @@ async def get_prefix(bot, message: discord.Message):
func.settings = Settings(func.open_json("settings.json"))
LOG_SETTINGS = func.settings.logging
if LOG_SETTINGS.get("enable", True):
log_path = LOG_SETTINGS.get("log_path", "./log")
if (LOG_FILE := LOG_SETTINGS.get("file", {})).get("enable", True):
log_path = os.path.abspath(LOG_FILE.get("path", "./logs"))
if not os.path.exists(log_path):
os.makedirs(log_path)
file_handler = TimedRotatingFileHandler(filename=f'{log_path}/vocard.log', encoding="utf-8", backupCount=LOG_SETTINGS.get("max-history", 30), when="d")
file_handler.namer = lambda name: name.replace(".log", "") + ".log"
file_handler.setFormatter(logging.Formatter('{asctime} [{levelname:<8}] {name}: {message}', '%Y-%m-%d %H:%M:%S', style='{'))
file_handler.setFormatter(logging.Formatter('{asctime} [{levelname:<8}] {name} {filename}:{lineno}: {message}', '%Y-%m-%d %H:%M:%S', style='{'))
discord_logger = logging.getLogger("discord")
discord_logger.addHandler(file_handler)
func.logger.addHandler(file_handler)
for log_name, log_level in LOG_SETTINGS.get("level", {}).items():
_logger = logging.getLogger(log_name)
_logger.setLevel(log_level)
logging.getLogger().addHandler(file_handler)
# Setup the bot object
intents = discord.Intents.default()
@@ -189,8 +190,4 @@ bot = Vocard(
if __name__ == "__main__":
update.check_version(with_msg=True)
bot.run(
func.tokens.token,
log_level=getattr(logging, LOG_SETTINGS.get("level", "INFO").upper()),
root_logger=True
)
bot.run(func.tokens.token, root_logger=True)

View File

@@ -13,10 +13,15 @@
{"listen": "/help"}
],
"logging": {
"level": "INFO",
"log_path": "./logs",
"max-history": 30,
"enable": true
"file": {
"path": "./logs",
"enable": true
},
"level": {
"discord": "INFO",
"vocard": "INFO"
},
"max-history": 30
},
"bot_access_user": [],
"embed_color":"0xb3b3b3",