mirror of
https://github.com/nexy7574/LCC-bot.git
synced 2024-09-19 18:16:34 +01:00
Properly configure logging
This commit is contained in:
parent
e9ff060875
commit
7b7ae4b024
1 changed files with 16 additions and 11 deletions
27
main.py
27
main.py
|
@ -3,6 +3,7 @@ import sys
|
||||||
import logging
|
import logging
|
||||||
import textwrap
|
import textwrap
|
||||||
from datetime import datetime, timedelta, timezone
|
from datetime import datetime, timedelta, timezone
|
||||||
|
from rich.logging import RichHandler
|
||||||
|
|
||||||
import config
|
import config
|
||||||
import discord
|
import discord
|
||||||
|
@ -12,17 +13,20 @@ from utils import JimmyBanException, JimmyBans, console, get_or_none
|
||||||
from utils.client import bot
|
from utils.client import bot
|
||||||
|
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
filename="jimmy.log",
|
filename=getattr(config, "LOG_FILE", "jimmy.log"),
|
||||||
filemode="a",
|
filemode=getattr(config, "LOG_MODE", "a"),
|
||||||
format="%(asctime)s:%(level)s:%(name)s: %(message)s",
|
format="%(asctime)s:%(level)s:%(name)s: %(message)s",
|
||||||
datefmt="%Y-%m-%d:%H:%M",
|
datefmt="%Y-%m-%d:%H:%M",
|
||||||
level=logging.INFO
|
level=getattr(config, "LOG_LEVEL", logging.INFO)
|
||||||
)
|
)
|
||||||
|
# echo to stdout
|
||||||
|
handler = RichHandler(getattr(config, "LOG_LEVEL", logging.INFO), console=console, markup=True)
|
||||||
|
logging.getLogger().addHandler(handler)
|
||||||
|
|
||||||
|
|
||||||
@bot.listen()
|
@bot.listen()
|
||||||
async def on_connect():
|
async def on_connect():
|
||||||
console.log("[green]Connected to discord!")
|
bot.log.info("[green]Connected to discord!")
|
||||||
|
|
||||||
|
|
||||||
@bot.listen("on_application_command_error")
|
@bot.listen("on_application_command_error")
|
||||||
|
@ -66,7 +70,7 @@ async def on_command_error(ctx: commands.Context, error: Exception):
|
||||||
|
|
||||||
@bot.listen("on_application_command")
|
@bot.listen("on_application_command")
|
||||||
async def on_application_command(ctx: discord.ApplicationContext):
|
async def on_application_command(ctx: discord.ApplicationContext):
|
||||||
console.log(
|
bot.log.info(
|
||||||
"{0.author} ({0.author.id}) used application command /{0.command.qualified_name} in "
|
"{0.author} ({0.author.id}) used application command /{0.command.qualified_name} in "
|
||||||
"[blue]#{0.channel}[/], {0.guild}".format(ctx)
|
"[blue]#{0.channel}[/], {0.guild}".format(ctx)
|
||||||
)
|
)
|
||||||
|
@ -74,9 +78,9 @@ async def on_application_command(ctx: discord.ApplicationContext):
|
||||||
|
|
||||||
@bot.event
|
@bot.event
|
||||||
async def on_ready():
|
async def on_ready():
|
||||||
console.log("Logged in as", bot.user)
|
bot.log.info("(READY) Logged in as", bot.user)
|
||||||
if getattr(config, "CONNECT_MODE", None) == 1:
|
if getattr(config, "CONNECT_MODE", None) == 1:
|
||||||
console.log("Bot is now ready and exit target 1 is set, shutting down.")
|
bot.log.critical("Bot is now ready and exit target 1 is set, shutting down.")
|
||||||
await bot.close()
|
await bot.close()
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
|
@ -105,10 +109,11 @@ async def check_not_banned(ctx: discord.ApplicationContext | commands.Context):
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
console.log("Starting...")
|
bot.log.info("Starting...")
|
||||||
bot.started_at = discord.utils.utcnow()
|
bot.started_at = discord.utils.utcnow()
|
||||||
|
|
||||||
if getattr(config, "WEB_SERVER", True):
|
if getattr(config, "WEB_SERVER", True):
|
||||||
|
bot.log.info("Web server is enabled (WEB_SERVER=True in config.py), initialising.")
|
||||||
import uvicorn
|
import uvicorn
|
||||||
|
|
||||||
from web.server import app
|
from web.server import app
|
||||||
|
@ -119,11 +124,11 @@ if __name__ == "__main__":
|
||||||
app,
|
app,
|
||||||
host=getattr(config, "HTTP_HOST", "127.0.0.1"),
|
host=getattr(config, "HTTP_HOST", "127.0.0.1"),
|
||||||
port=getattr(config, "HTTP_PORT", 3762),
|
port=getattr(config, "HTTP_PORT", 3762),
|
||||||
loop="asyncio",
|
|
||||||
**getattr(config, "UVICORN_CONFIG", {}),
|
**getattr(config, "UVICORN_CONFIG", {}),
|
||||||
)
|
)
|
||||||
|
bot.log.info("Web server will listen on %s:%s", http_config.host, http_config.port)
|
||||||
server = uvicorn.Server(http_config)
|
server = uvicorn.Server(http_config)
|
||||||
console.log("Starting web server...")
|
bot.log.info("Starting web server...")
|
||||||
loop = bot.loop
|
loop = bot.loop
|
||||||
http_server_task = loop.create_task(server.serve())
|
http_server_task = loop.create_task(server.serve())
|
||||||
bot.web = {
|
bot.web = {
|
||||||
|
@ -131,5 +136,5 @@ if __name__ == "__main__":
|
||||||
"config": http_config,
|
"config": http_config,
|
||||||
"task": http_server_task,
|
"task": http_server_task,
|
||||||
}
|
}
|
||||||
|
bot.log.info("Beginning main loop.")
|
||||||
bot.run(config.token)
|
bot.run(config.token)
|
||||||
|
|
Loading…
Reference in a new issue