From 3e04dd0627ce9aad9949bad4d600aaf53fe39fe0 Mon Sep 17 00:00:00 2001 From: Jerrie <70805800+Jerrie-Aries@users.noreply.github.com> Date: Sun, 1 Aug 2021 23:23:29 +0800 Subject: [PATCH] Fix UnicodeEncodeError on Windows. (#3043) * Fix UnionEncodeError on Windows when logging unicode emojis or special characters. * Formatting... --- bot.py | 11 ++++------- cogs/utility.py | 2 ++ core/models.py | 4 +++- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/bot.py b/bot.py index 07c654be3c..8961001ab1 100644 --- a/bot.py +++ b/bot.py @@ -122,12 +122,9 @@ def hosting_method(self) -> HostingMethod: def startup(self): logger.line() - if os.name != "nt": - logger.info("┌┬┐┌─┐┌┬┐┌┬┐┌─┐┬┬") - logger.info("││││ │ │││││├─┤││") - logger.info("┴ ┴└─┘─┴┘┴ ┴┴ ┴┴┴─┘") - else: - logger.info("MODMAIL") + logger.info("┌┬┐┌─┐┌┬┐┌┬┐┌─┐┬┬") + logger.info("││││ │ │││││├─┤││") + logger.info("┴ ┴└─┘─┴┘┴ ┴┴ ┴┴┴─┘") logger.info("v%s", __version__) logger.info("Authors: kyb3r, fourjr, Taaku18") logger.line() @@ -659,7 +656,7 @@ async def convert_emoji(self, name: str) -> str: try: name = await converter.convert(ctx, name.strip(":")) except commands.BadArgument as e: - logger.warning("%s is not a valid emoji. %s.", e) + logger.warning("%s is not a valid emoji. %s.", name, e) raise return name diff --git a/cogs/utility.py b/cogs/utility.py index 4ac02b9073..0790274c57 100644 --- a/cogs/utility.py +++ b/cogs/utility.py @@ -393,6 +393,7 @@ async def debug(self, ctx): os.path.dirname(os.path.abspath(__file__)), f"../temp/{log_file_name}.log" ), "r+", + encoding="utf-8", ) as f: logs = f.read().strip() @@ -448,6 +449,7 @@ async def debug_hastebin(self, ctx): os.path.dirname(os.path.abspath(__file__)), f"../temp/{log_file_name}.log" ), "rb+", + encoding="utf-8", ) as f: logs = BytesIO(f.read().strip()) diff --git a/core/models.py b/core/models.py index 0238e051d4..44e75043d1 100644 --- a/core/models.py +++ b/core/models.py @@ -127,7 +127,9 @@ def format(self, record): def configure_logging(name, level=None): global ch_debug, log_level - ch_debug = RotatingFileHandler(name, mode="a+", maxBytes=48000, backupCount=1) + ch_debug = RotatingFileHandler( + name, mode="a+", maxBytes=48000, backupCount=1, encoding="utf-8" + ) formatter_debug = FileFormatter( "%(asctime)s %(name)s[%(lineno)d] - %(levelname)s: %(message)s",