mirror of
https://github.com/wlinator/luminara.git
synced 2024-10-02 18:03:12 +00:00
Add detailed logger
This commit is contained in:
parent
cb2b56ad74
commit
6b6bfae516
7 changed files with 75 additions and 13 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -3,4 +3,5 @@ venv/
|
|||
__pycache__/
|
||||
|
||||
*.db
|
||||
.env
|
||||
.env
|
||||
*.log
|
|
@ -1,8 +1,11 @@
|
|||
import json
|
||||
import logging
|
||||
import sqlite3
|
||||
|
||||
from db import database
|
||||
|
||||
racu_logs = logging.getLogger('Racu.Core')
|
||||
|
||||
|
||||
class Item:
|
||||
def __init__(self, item_id):
|
||||
|
@ -59,7 +62,7 @@ class Item:
|
|||
database.execute_query(query,
|
||||
(index, name, display_name, description, image_url, emote_id, quote, item_type))
|
||||
|
||||
print("Items inserted into the database successfully.")
|
||||
racu_logs.info("Items inserted into the database successfully.")
|
||||
|
||||
@staticmethod
|
||||
def get_all_item_names():
|
||||
|
@ -75,7 +78,7 @@ class Item:
|
|||
return item_names
|
||||
|
||||
except sqlite3.Error:
|
||||
print(sqlite3.Error)
|
||||
racu_logs.error(sqlite3.Error)
|
||||
return []
|
||||
|
||||
@staticmethod
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
import logging
|
||||
import sqlite3
|
||||
from sqlite3 import Error
|
||||
|
||||
racu_logs = logging.getLogger('Racu.Core')
|
||||
|
||||
|
||||
def create_connection():
|
||||
try:
|
||||
conn = sqlite3.connect("db/rcu.db")
|
||||
except Error as e:
|
||||
print("'create_connection()' Error occurred: {}".format(e))
|
||||
racu_logs.error("'create_connection()' Error occurred: {}".format(e))
|
||||
return
|
||||
|
||||
return conn
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
import logging
|
||||
|
||||
from db import database
|
||||
|
||||
racu_logs = logging.getLogger('Racu.Core')
|
||||
|
||||
xp_table = """
|
||||
CREATE TABLE IF NOT EXISTS xp (
|
||||
user_id INTEGER PRIMARY KEY NOT NULL,
|
||||
|
@ -95,4 +99,4 @@ def sync_database():
|
|||
database.execute_query(stats_slots)
|
||||
database.execute_query(stats_duel)
|
||||
|
||||
print("On startup: database synced.")
|
||||
racu_logs.info("Database was synced.")
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
import logging
|
||||
import time
|
||||
|
||||
from data.Currency import Currency
|
||||
from data.Xp import Xp
|
||||
from sb_tools import level_messages
|
||||
|
||||
racu_logs = logging.getLogger('Racu.Core')
|
||||
|
||||
|
||||
class XPHandler:
|
||||
def __init__(self):
|
||||
|
@ -15,7 +18,7 @@ class XPHandler:
|
|||
xp = Xp(user_id)
|
||||
|
||||
if xp.ctime and current_time < xp.ctime:
|
||||
print(f"XP UPDATE --- {message.author.name} sent a message but is on XP cooldown.")
|
||||
racu_logs.info(f"XP UPDATE --- {message.author.name} sent a message but is on XP cooldown.")
|
||||
return
|
||||
|
||||
new_xp = xp.xp + xp.xp_gain
|
||||
|
@ -37,11 +40,11 @@ class XPHandler:
|
|||
user_currency.add_special(1)
|
||||
user_currency.push()
|
||||
|
||||
print(f"XP UPDATE --- {message.author.name} leveled up; new_level = {xp.level}.")
|
||||
racu_logs.info(f"XP UPDATE --- {message.author.name} leveled up; new_level = {xp.level}.")
|
||||
|
||||
else:
|
||||
xp.xp += xp.xp_gain
|
||||
print(f"XP UPDATE --- {message.author.name} gained {xp.xp_gain} XP; new_xp = {new_xp}.")
|
||||
racu_logs.info(f"XP UPDATE --- {message.author.name} gained {xp.xp_gain} XP; new_xp = {new_xp}.")
|
||||
|
||||
xp.ctime = current_time + xp.new_cooldown
|
||||
xp.push()
|
||||
|
@ -70,7 +73,6 @@ class XPHandler:
|
|||
guild = user.guild
|
||||
|
||||
if guild.id != 719227135151046699:
|
||||
print("Not Rave Cave -> no level-up role")
|
||||
return
|
||||
|
||||
current_level_role = None
|
||||
|
|
50
main.py
50
main.py
|
@ -9,8 +9,10 @@ SPECIAL_BALANCE_NAME=
|
|||
|
||||
import logging
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
||||
import discord
|
||||
import pytz
|
||||
from dotenv import load_dotenv
|
||||
|
||||
import db.tables
|
||||
|
@ -20,7 +22,50 @@ from data.Item import Item
|
|||
from handlers.ReactionHandler import ReactionHandler
|
||||
from handlers.XPHandler import XPHandler
|
||||
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
class RacuFormatter(logging.Formatter):
|
||||
def converter(self, timestamp):
|
||||
tz = pytz.timezone('US/Eastern')
|
||||
converted_time = datetime.fromtimestamp(timestamp, tz)
|
||||
return converted_time
|
||||
|
||||
def formatTime(self, record, datefmt=None):
|
||||
timestamp = self.converter(record.created)
|
||||
if datefmt:
|
||||
return timestamp.strftime(datefmt)
|
||||
else:
|
||||
return str(timestamp)
|
||||
|
||||
|
||||
def setup_logger():
|
||||
# Initialize the logger
|
||||
logger = logging.getLogger('Racu.Core')
|
||||
if logger.handlers:
|
||||
# Handlers already exist, no need to add more
|
||||
return logger
|
||||
|
||||
logger.setLevel(logging.DEBUG)
|
||||
|
||||
# Create console handler and set level and formatter
|
||||
console_handler = logging.StreamHandler()
|
||||
console_handler.setLevel(logging.DEBUG)
|
||||
console_formatter = RacuFormatter('[%(asctime)s] [%(name)s] [%(levelname)s] %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S')
|
||||
console_handler.setFormatter(console_formatter)
|
||||
logger.addHandler(console_handler)
|
||||
|
||||
# Create file handler and set level and formatter
|
||||
file_handler = logging.FileHandler('racu.log')
|
||||
file_handler.setLevel(logging.DEBUG)
|
||||
file_formatter = RacuFormatter('[%(asctime)s] [%(name)s] [%(levelname)s] %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S')
|
||||
file_handler.setFormatter(file_formatter)
|
||||
logger.addHandler(file_handler)
|
||||
|
||||
return logger
|
||||
|
||||
|
||||
racu_logs = setup_logger()
|
||||
load_dotenv('.env')
|
||||
|
||||
# load all json
|
||||
|
@ -43,7 +88,7 @@ def load_cogs(reload=False):
|
|||
sbbot.load_extension(f'modules.{filename[:-3]}')
|
||||
else:
|
||||
sbbot.reload_extension(f'modules.{filename[:-3]}')
|
||||
print(f"Module '{filename}' ready.")
|
||||
racu_logs.info(f"Module {filename} loaded.")
|
||||
|
||||
|
||||
@sbbot.event
|
||||
|
@ -55,6 +100,7 @@ async def on_ready():
|
|||
|
||||
# reload all cogs to sync db parameters
|
||||
load_cogs(reload=True)
|
||||
racu_logs.info("RACU IS BOOTED/READY")
|
||||
|
||||
"""
|
||||
https://docs.pycord.dev/en/stable/api/events.html#discord.on_ready
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import asyncio
|
||||
import logging
|
||||
import subprocess
|
||||
|
||||
import discord
|
||||
|
@ -6,6 +7,8 @@ from discord.ext import commands
|
|||
|
||||
from sb_tools import interaction, embeds, universal
|
||||
|
||||
racu_logs = logging.getLogger('Racu.Core')
|
||||
|
||||
|
||||
class BasicCog(commands.Cog):
|
||||
def __init__(self, sbbot):
|
||||
|
@ -30,9 +33,9 @@ class BasicCog(commands.Cog):
|
|||
await ctx.respond(content="Restarting..", ephemeral=True)
|
||||
|
||||
try:
|
||||
print(subprocess.check_output(["/bin/bash", "racu_update.sh"]))
|
||||
racu_logs.info(subprocess.check_output(["/bin/bash", "racu_update.sh"]))
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"Error executing the script: {e.output.decode()}")
|
||||
racu_logs.error(f"Error executing the script: {e.output.decode()}")
|
||||
|
||||
@commands.slash_command(
|
||||
name="intro",
|
||||
|
|
Loading…
Reference in a new issue