Adjust logger (#1442)

add appName in logger and make user_id, session_id kwargs
This commit is contained in:
LBolte29
2022-03-08 16:33:46 +01:00
committed by GitHub
parent f207f78e3a
commit 7d4031efc3
2 changed files with 18 additions and 9 deletions

View File

@@ -14,7 +14,7 @@ import gamestonk_terminal.config_terminal as cfg
logger = logging.getLogger(__name__)
LOGFORMAT = "%(asctime)s|%(name)s|%(funcName)s|%(lineno)s|%(message)s"
LOGPREFIXFORMAT = "%(levelname)s|%(version)s|%(loggingId)s|%(sessionId)s|"
LOGPREFIXFORMAT = "%(levelname)s|%(appName)s|%(version)s|%(loggingId)s|%(sessionId)s|"
DATEFORMAT = "%Y-%m-%dT%H:%M:%S%z"
@@ -31,7 +31,7 @@ def library_loggers(verbosity: int = 0) -> None:
logging.getLogger("urllib3").setLevel(verbosity)
def setup_file_logger(session_id: str) -> None:
def setup_file_logger(app_name: str, session_id: str) -> None:
"""Setup File Logger"""
file_path = Path(__file__)
logger.debug("Parent dir: %s", file_path.parent.parent.absolute())
@@ -73,7 +73,7 @@ def setup_file_logger(session_id: str) -> None:
handler = logging.FileHandler(cfg.LOGGING_FILE)
formatter = CustomFormatterWithExceptions(
cfg.LOGGING_ID, session_id, fmt=LOGFORMAT, datefmt=DATEFORMAT
app_name, cfg.LOGGING_ID, session_id, fmt=LOGFORMAT, datefmt=DATEFORMAT
)
handler.setFormatter(formatter)
logging.getLogger().addHandler(handler)
@@ -84,6 +84,7 @@ class CustomFormatterWithExceptions(logging.Formatter):
def __init__(
self,
app_name: str,
logging_id: str,
session_id: str,
fmt=None,
@@ -96,6 +97,7 @@ class CustomFormatterWithExceptions(logging.Formatter):
"loggingId": logging_id,
"sessionId": session_id,
"version": cfg.LOGGING_VERSION,
"appName": app_name,
}
def formatException(self, ei) -> str:
@@ -130,6 +132,13 @@ class CustomFormatterWithExceptions(logging.Formatter):
if hasattr(record, "func_name_override"):
record.funcName = record.func_name_override # type: ignore
record.lineno = 0
if hasattr(record, "user_id"):
self.logPrefixDict["loggingId"] = record.user_id # type: ignore
if hasattr(record, "session_id"):
self.logPrefixDict["sessionId"] = record.session_id # type: ignore
s = super().format(record)
if record.levelname:
self.logPrefixDict["levelname"] = record.levelname[0]
@@ -165,7 +174,7 @@ def get_commit_hash() -> None:
cfg.LOGGING_VERSION = f"sha:{short_sha}"
def setup_logging() -> None:
def setup_logging(app_name: str) -> None:
"""Setup Logging"""
START_TIME = int(time.time())
@@ -183,26 +192,26 @@ def setup_logging() -> None:
if a_handler == "stdout":
handler = logging.StreamHandler(sys.stdout)
formatter = CustomFormatterWithExceptions(
LOGGING_ID, str(START_TIME), fmt=LOGFORMAT, datefmt=DATEFORMAT
app_name, LOGGING_ID, str(START_TIME), fmt=LOGFORMAT, datefmt=DATEFORMAT
)
handler.setFormatter(formatter)
logging.getLogger().addHandler(handler)
elif a_handler == "stderr":
handler = logging.StreamHandler(sys.stderr)
formatter = CustomFormatterWithExceptions(
LOGGING_ID, str(START_TIME), fmt=LOGFORMAT, datefmt=DATEFORMAT
app_name, LOGGING_ID, str(START_TIME), fmt=LOGFORMAT, datefmt=DATEFORMAT
)
handler.setFormatter(formatter)
logging.getLogger().addHandler(handler)
elif a_handler == "noop":
handler = logging.NullHandler() # type: ignore
formatter = CustomFormatterWithExceptions(
LOGGING_ID, str(START_TIME), fmt=LOGFORMAT, datefmt=DATEFORMAT
app_name, LOGGING_ID, str(START_TIME), fmt=LOGFORMAT, datefmt=DATEFORMAT
)
handler.setFormatter(formatter)
logging.getLogger().addHandler(handler)
elif a_handler == "file":
setup_file_logger(str(START_TIME))
setup_file_logger(app_name, str(START_TIME))
else:
logger.debug("Unknown loghandler")

View File

@@ -224,7 +224,7 @@ class TerminalController(BaseController):
def terminal(jobs_cmds: List[str] = None):
"""Terminal Menu"""
setup_logging()
setup_logging("gst")
logger.info("START")
logger.info("Python: %s", platform.python_version())
logger.info("OS: %s", platform.system())