From fa56541b3a8c4f5394019b32fa0ae117147d213e Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Mon, 8 Nov 2021 18:57:03 +0100 Subject: [PATCH] CommonClient: explicitly set logging handlers, and explicitly set them to unicode. --- CommonClient.py | 19 ++++++++++++------- kvui.py | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/CommonClient.py b/CommonClient.py index f78a3d64..0415df1a 100644 --- a/CommonClient.py +++ b/CommonClient.py @@ -22,7 +22,6 @@ gui_enabled = Utils.is_frozen() or "--nogui" not in sys.argv log_folder = Utils.local_path("logs") os.makedirs(log_folder, exist_ok=True) - class ClientCommandProcessor(CommandProcessor): def __init__(self, ctx: CommonContext): self.ctx = ctx @@ -518,12 +517,18 @@ async def console_loop(ctx: CommonContext): def init_logging(name: str): - if gui_enabled: - logging.basicConfig(format='[%(name)s]: %(message)s', level=logging.INFO, - filename=os.path.join(log_folder, f"{name}.txt"), filemode="w", force=True) - else: - logging.basicConfig(format='[%(name)s]: %(message)s', level=logging.INFO, force=True) - logging.getLogger().addHandler(logging.FileHandler(os.path.join(log_folder, f"{name}.txt"), "w")) + root_logger = logging.getLogger() + root_logger.setLevel(logging.INFO) + file_handler = logging.FileHandler( + os.path.join(log_folder, f"{name}.txt"), + "w", + encoding="utf-8-sig") + file_handler.setFormatter(logging.Formatter("[%(name)s]: %(message)s")) + root_logger.addHandler(file_handler) + if sys.stdout: + root_logger.addHandler( + logging.StreamHandler(sys.stdout) + ) if __name__ == '__main__': diff --git a/kvui.py b/kvui.py index 2c8c5d08..cc9dbc35 100644 --- a/kvui.py +++ b/kvui.py @@ -7,6 +7,7 @@ import sys os.environ["KIVY_NO_CONSOLELOG"] = "1" os.environ["KIVY_NO_FILELOG"] = "1" os.environ["KIVY_NO_ARGS"] = "1" +os.environ["KIVY_LOG_ENABLE"] = "0" from kivy.app import App from kivy.core.window import Window