From c1c80b0021a1787916635281ed35b0ebfb54e709 Mon Sep 17 00:00:00 2001 From: Wayne-Cole <77279425+Wacky404@users.noreply.github.com> Date: Mon, 13 Jan 2025 11:40:38 -0600 Subject: fix: add_log() kwargs passed to _prep_write and implented queuehandler for app logging in another thread. --- src/funcs_worklogger.py | 2 +- src/log_util_worklogger.py | 17 ++++++++++++++--- src/worklog | 2 -- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/funcs_worklogger.py b/src/funcs_worklogger.py index 8ffabfa..6a16b7d 100644 --- a/src/funcs_worklogger.py +++ b/src/funcs_worklogger.py @@ -220,7 +220,7 @@ def add_log(file_format=None, proj_settings=None, savepath=None, backuppath=None break log_str, cp_kwargs, field_names = _prep_write(format=file_format, s_log=log_str, - p_settings=proj_settings, _dt=dt) + p_settings=proj_settings, _dt=dt, k_args=kwargs) _write_file(p_save=savepath, p_backup=backuppath, format=file_format, j_upper=job_upper, len_file=len(parsed_file), _cp_kwargs=[cp_kwargs], _log_str=[log_str], _field_names=field_names) diff --git a/src/log_util_worklogger.py b/src/log_util_worklogger.py index 966f035..9e89f89 100644 --- a/src/log_util_worklogger.py +++ b/src/log_util_worklogger.py @@ -6,9 +6,9 @@ email: wacky404@dev.com """ import logging.config +import atexit -# TODO: can't configure queue_handler easily as of 3.11 python only available on 3.12 logger = logging.getLogger("WorkLogger") @@ -40,15 +40,26 @@ def setup_logging(log_lvl_stdout='WARNING') -> None: "maxBytes": 5000000, # 5 mb "backupCount": 5, }, + "queue_handler": { + "class": "logging.handlers.QueueHandler", + "handlers": [ + "stdout", + "file" + ], + "respect_handler_level": True + } }, "loggers": { "root": { "level": "DEBUG", "handlers": [ - "stdout", - "file", + "queue_handler" ], }, }, } logging.config.dictConfig(logging_config) + queue_handler = logging.getHandlerByName("queue_handler") + if queue_handler is not None: + queue_handler.listener.start() + atexit.register(queue_handler.listener.stop) diff --git a/src/worklog b/src/worklog index 848f418..47b7ef7 100755 --- a/src/worklog +++ b/src/worklog @@ -31,8 +31,6 @@ formats: dict = { # creates a NameSpace of arguments that were made args = parser.parse_args() -print(type(args)) -pprint(args) numeric_loglevel = getattr(logging, str(args.log).upper()) if isinstance(numeric_loglevel, int): -- cgit v1.3-3-g829e