diff options
| author | Wayne-Cole <77279425+Wacky404@users.noreply.github.com> | 2025-01-13 11:40:38 -0600 |
|---|---|---|
| committer | Wayne-Cole <77279425+Wacky404@users.noreply.github.com> | 2025-01-13 11:40:38 -0600 |
| commit | c1c80b0021a1787916635281ed35b0ebfb54e709 (patch) | |
| tree | 8b06a262c688612c178b8c79c6d724289820c80b | |
| parent | 905af1a7b845206408119c4545b0a44e3ca43bb2 (diff) | |
| download | worklogger-c1c80b0021a1787916635281ed35b0ebfb54e709.tar.xz worklogger-c1c80b0021a1787916635281ed35b0ebfb54e709.zip | |
fix: add_log() kwargs passed to _prep_write and implented queuehandler for app logging in another thread.
| -rw-r--r-- | src/funcs_worklogger.py | 2 | ||||
| -rw-r--r-- | src/log_util_worklogger.py | 17 | ||||
| -rwxr-xr-x | 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): |
