Skip to content

Commit 3fce03d

Browse files
committed
Move logging setup to extra file
This is especially needed to have an initialized logger when the env-variables are loaded. So this should be the first import of a custom module in main.py
1 parent 65d15d5 commit 3fce03d

File tree

2 files changed

+32
-23
lines changed

2 files changed

+32
-23
lines changed

src/log_setup.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import logging
2+
3+
# set logging format
4+
formatter = logging.Formatter("[{asctime}] [{levelname}] [{name}] {message}", style="{")
5+
6+
# logger for writing to file
7+
file_logger = logging.FileHandler('data/events.log')
8+
file_logger.setLevel(logging.INFO) # everything into the logging file
9+
file_logger.setFormatter(formatter)
10+
11+
# logger for console prints
12+
console_logger = logging.StreamHandler()
13+
console_logger.setLevel(logging.WARNING) # only important stuff to the terminal
14+
console_logger.setFormatter(formatter)
15+
16+
# get new logger
17+
logger = logging.getLogger('my-bot')
18+
logger.setLevel(logging.INFO)
19+
20+
# register loggers
21+
logger.addHandler(file_logger)
22+
logger.addHandler(console_logger)

src/main.py

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,22 @@
11
import os
2-
import logging
32

43
import discord
54
from discord.ext import commands
65

6+
# setup of logging and env-vars
7+
# logging must be initialized before environment, to enable logging in environment
8+
from log_setup import logger
79
from environment import PREFIX, TOKEN
810

11+
"""
12+
This bot is based on a template by nonchris
13+
https://github.com/nonchris/discord-bot
14+
"""
15+
916
# path for databases or config files
1017
if not os.path.exists('data/'):
1118
os.mkdir('data/')
1219

13-
# set logging format
14-
formatter = logging.Formatter("[{asctime}] [{levelname}] [{name}] {message}", style="{")
15-
16-
# logger for writing to file
17-
file_logger = logging.FileHandler('data/events.log')
18-
file_logger.setLevel(logging.INFO) # everything into the logging file
19-
file_logger.setFormatter(formatter)
20-
21-
# logger for console prints
22-
console_logger = logging.StreamHandler()
23-
console_logger.setLevel(logging.WARNING) # only important stuff to the terminal
24-
console_logger.setFormatter(formatter)
25-
26-
# get new logger
27-
logger = logging.getLogger('my-bot')
28-
logger.setLevel(logging.INFO)
29-
30-
# register loggers
31-
logger.addHandler(file_logger)
32-
logger.addHandler(console_logger)
33-
3420
intents = discord.Intents.all()
3521
bot = commands.Bot(command_prefix=PREFIX, intents=intents)
3622

@@ -39,7 +25,8 @@
3925
@bot.event
4026
async def on_ready():
4127
print(f'{bot.user.name} has connected')
42-
guild = discord.utils.get(bot.guilds) # , name=GUILD)
28+
29+
logger.info(f"Bot has connected, active on {len(bot.guilds)} guilds")
4330

4431
print(f'Bot is connected to the following guilds:')
4532
print()

0 commit comments

Comments
 (0)