From 45027a060962841bc53f38184f68a4c4b907f676 Mon Sep 17 00:00:00 2001 From: ninexball Date: Sat, 6 Oct 2018 14:39:18 -0500 Subject: Added logging --- bot/__init__.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 bot/__init__.py (limited to 'bot') diff --git a/bot/__init__.py b/bot/__init__.py new file mode 100644 index 00000000..8cbcd121 --- /dev/null +++ b/bot/__init__.py @@ -0,0 +1,30 @@ +import os +import logging.handlers + +# set up logging + +log_dir = 'log' +log_file = log_dir + os.sep + 'hackbot.log' +os.makedirs(log_dir, exist_ok=True) + +# file handler sets up rotating logs every 5 MB +file_handler = logging.handlers.RotatingFileHandler( + log_file, maxBytes=5*(2**20), backupCount=10) +file_handler.setLevel(logging.DEBUG) + +# console handler prints to terminal +console_handler = logging.StreamHandler() +console_handler.setLevel(logging.INFO) + +# remove old loggers if any +root = logging.getLogger() +if root.handlers: + for handler in root.handlers: + root.removeHandler(handler) + +# setup new logging configuration +logging.basicConfig(format='%(asctime)s - %(name)s %(levelname)s: %(message)s', datefmt="%D %H:%M:%S", + level=logging.DEBUG, + handlers=[console_handler, file_handler]) + +logging.info('Logging Process Started') \ No newline at end of file -- cgit v1.2.3 From 4fd7f6dd7523ac165073e2359c21f7b12159baf7 Mon Sep 17 00:00:00 2001 From: ninexball Date: Mon, 8 Oct 2018 20:51:57 -0500 Subject: Added basic logging to bot.py --- bot/bot.py | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'bot') diff --git a/bot/bot.py b/bot/bot.py index a67fcdab..5c3d3c71 100644 --- a/bot/bot.py +++ b/bot/bot.py @@ -1,13 +1,23 @@ +from os import environ from pathlib import Path from sys import stderr -from traceback import print_exc -from os import environ +from traceback import print_exc, format_exc from discord.ext import commands - +import logging HACKTOBERBOT_TOKEN = environ.get('HACKTOBERBOT_TOKEN') -bot = commands.Bot(command_prefix=commands.when_mentioned_or('!')) + +if HACKTOBERBOT_TOKEN: + token_dl = len(HACKTOBERBOT_TOKEN) // 8 + logging.info(f'Bot token loaded: {HACKTOBERBOT_TOKEN[:token_dl]}...{HACKTOBERBOT_TOKEN[-token_dl:]}') +else: + logging.error(f'Bot token not found: {HACKTOBERBOT_TOKEN}') + +ghost_unicode = "\N{GHOST}" +bot = commands.Bot(command_prefix=commands.when_mentioned_or(".", f"{ghost_unicode} ", ghost_unicode)) + +logging.info('Start loading extensions from ./cogs/') if __name__ == '__main__': # Scan for files in the /cogs/ directory and make a list of the file names. @@ -15,8 +25,14 @@ if __name__ == '__main__': for extension in cogs: try: bot.load_extension(f'cogs.{extension}') + logging.info(f'Successfully loaded extension: {extension}') except Exception as e: - print(f'Failed to load extension {extension}.', file=stderr) - print_exc() + logging.error(f'Failed to load extension {extension}: {repr(e)} {format_exc()}') + # print(f'Failed to load extension {extension}.', file=stderr) + # print_exc() + +logging.info(f'Spooky Launch Sequence Initiated...') bot.run(HACKTOBERBOT_TOKEN) + +logging.info(f'HackBot has been slain!') \ No newline at end of file -- cgit v1.2.3