From 6e5d8261ff967c5acf25778d2f7bcdab5207464c Mon Sep 17 00:00:00 2001 From: Peter van Arkel Date: Wed, 11 Aug 2021 15:09:57 +0200 Subject: [PATCH] add log.py and imports in cog-files to that. Part of #26 --- __init__.py | 0 cogs/admin.py | 12 ++++-------- cogs/games.py | 13 ++++++------- cogs/gif.py | 12 +++++------- cogs/links.py | 14 ++++++-------- cogs/moderator.py | 13 +++++-------- cogs/random.py | 13 +++++-------- jeeves.py | 12 +++++------- log.py | 28 ++++++++++++++++++++++++++++ 9 files changed, 64 insertions(+), 53 deletions(-) create mode 100644 __init__.py create mode 100644 log.py diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cogs/admin.py b/cogs/admin.py index 2d220ad..f39e095 100644 --- a/cogs/admin.py +++ b/cogs/admin.py @@ -1,16 +1,12 @@ import discord from discord.ext import commands -import logging +import log -e = discord.Embed() # setup logging -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger('jeeves') -logger.setLevel(logging.INFO) -handler = logging.FileHandler(filename='jeeves.log', encoding='utf-8', mode='a') -handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s')) -logger.addHandler(handler) +logger = log.get_logger(__name__) + +embed = discord.Embed() class Admin(commands.Cog): diff --git a/cogs/games.py b/cogs/games.py index fbb635a..538b953 100644 --- a/cogs/games.py +++ b/cogs/games.py @@ -2,16 +2,14 @@ import discord from discord.ext import commands import logging from jeevesbot import functions, babbelbingo +import log -e = discord.Embed() # setup logging -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger('jeeves') -logger.setLevel(logging.INFO) -handler = logging.FileHandler(filename='jeeves.log', encoding='utf-8', mode='a') -handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s')) -logger.addHandler(handler) +logger = log.get_logger(__name__) + + +e = discord.Embed() class Games(commands.Cog): @@ -45,5 +43,6 @@ class Games(commands.Cog): async def on_ready(self): print('##### GAMES module active') + def setup(bot): bot.add_cog(Games(bot)) \ No newline at end of file diff --git a/cogs/gif.py b/cogs/gif.py index b584e2d..6fd94b8 100644 --- a/cogs/gif.py +++ b/cogs/gif.py @@ -2,16 +2,14 @@ import discord from discord.ext import commands import logging from jeevesbot import functions +import log -e = discord.Embed() # setup logging -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger('jeeves') -logger.setLevel(logging.INFO) -handler = logging.FileHandler(filename='jeeves.log', encoding='utf-8', mode='a') -handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s')) -logger.addHandler(handler) +logger = log.get_logger(__name__) + + +e = discord.Embed() class Gif(commands.Cog): diff --git a/cogs/links.py b/cogs/links.py index 155883c..59d833f 100644 --- a/cogs/links.py +++ b/cogs/links.py @@ -1,16 +1,13 @@ import discord from discord.ext import commands -import logging +import log -e = discord.Embed() # setup logging -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger('jeeves') -logger.setLevel(logging.INFO) -handler = logging.FileHandler(filename='jeeves.log', encoding='utf-8', mode='a') -handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s')) -logger.addHandler(handler) +logger = log.get_logger(__name__) + + +e = discord.Embed() class Links(commands.Cog): @@ -34,6 +31,7 @@ class Links(commands.Cog): async def on_ready(self): print('##### LINKS module active') + def setup(bot): bot.add_cog(Links(bot)) diff --git a/cogs/moderator.py b/cogs/moderator.py index fcbdbce..afa2112 100644 --- a/cogs/moderator.py +++ b/cogs/moderator.py @@ -1,16 +1,13 @@ import discord from discord.ext import commands -import logging +import log -e = discord.Embed() # setup logging -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger('jeeves') -logger.setLevel(logging.INFO) -handler = logging.FileHandler(filename='jeeves.log', encoding='utf-8', mode='a') -handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s')) -logger.addHandler(handler) +logger = log.get_logger(__name__) + + +e = discord.Embed() class Moderator(commands.Cog): diff --git a/cogs/random.py b/cogs/random.py index d96c525..6be7034 100644 --- a/cogs/random.py +++ b/cogs/random.py @@ -1,16 +1,13 @@ import discord from discord.ext import commands -import logging +import log -e = discord.Embed() # setup logging -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger('jeeves') -logger.setLevel(logging.INFO) -handler = logging.FileHandler(filename='jeeves.log', encoding='utf-8', mode='a') -handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s')) -logger.addHandler(handler) +logger = log.get_logger(__name__) + + +e = discord.Embed() class Misc(commands.Cog): diff --git a/jeeves.py b/jeeves.py index ba96ad4..3b7dfc1 100755 --- a/jeeves.py +++ b/jeeves.py @@ -2,17 +2,14 @@ import discord from discord.ext import commands -import logging from jeevesbot import env import os +import log + # setup logging -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger('jeeves') -logger.setLevel(logging.INFO) -handler = logging.FileHandler(filename='jeeves.log', encoding='utf-8', mode='a') -handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s')) -logger.addHandler(handler) +logger = log.get_logger(__name__) + # setup discord.py bot intents = discord.Intents().all() @@ -56,3 +53,4 @@ for filename in os.listdir('./cogs'): if __name__ == '__main__': bot.run(env.TOKEN) + diff --git a/log.py b/log.py new file mode 100644 index 0000000..732e4f5 --- /dev/null +++ b/log.py @@ -0,0 +1,28 @@ +import logging +import sys + +FORMATTER = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") +LOG_FILE = "jeeves.log" + +def get_console_handler(): + console_handler = logging.StreamHandler(sys.stdout) + console_handler.setFormatter(FORMATTER) + return console_handler + +def get_file_handler(): + file_handler = logging.FileHandler(LOG_FILE, encoding='utf-8', mode='a') + file_handler.setFormatter(FORMATTER) + return file_handler + +def get_logger(logger_name): + logger = logging.getLogger(logger_name) + + logger.setLevel(logging.DEBUG) # better to have too much log than not enough + + logger.addHandler(get_console_handler()) + logger.addHandler(get_file_handler()) + + # with this pattern, it's rarely necessary to propagate the error up to parent + logger.propagate = False + + return logger \ No newline at end of file