Logging Revamp

This commit is contained in:
Fabian Dill
2021-11-10 15:35:43 +01:00
parent d42d77d3d3
commit 43323e59ce
9 changed files with 72 additions and 85 deletions

View File

@@ -3,13 +3,16 @@ import logging
import asyncio
import urllib.parse
import sys
import os
import typing
import time
import websockets
import Utils
if __name__ == "__main__":
Utils.init_logging("TextClient")
from MultiServer import CommandProcessor
from NetUtils import Endpoint, decode, NetworkItem, encode, JSONtoTextParser, ClientStatus, Permission
from Utils import Version
@@ -20,8 +23,6 @@ logger = logging.getLogger("Client")
# without terminal we have to use gui mode
gui_enabled = not sys.stdout 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):
@@ -517,21 +518,6 @@ async def console_loop(ctx: CommonContext):
logger.exception(e)
def init_logging(name: str):
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)
)
def get_base_parser(description=None):
import argparse
parser = argparse.ArgumentParser(description=description)
@@ -544,7 +530,6 @@ def get_base_parser(description=None):
if __name__ == '__main__':
# Text Mode to use !hint and such with games that have no text entry
init_logging("TextClient")
class TextContext(CommonContext):
tags = {"AP", "IgnoreGame"}