summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne-Cole <77279425+Wacky404@users.noreply.github.com>2025-01-13 11:40:38 -0600
committerWayne-Cole <77279425+Wacky404@users.noreply.github.com>2025-01-13 11:40:38 -0600
commitc1c80b0021a1787916635281ed35b0ebfb54e709 (patch)
tree8b06a262c688612c178b8c79c6d724289820c80b
parent905af1a7b845206408119c4545b0a44e3ca43bb2 (diff)
downloadworklogger-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.py2
-rw-r--r--src/log_util_worklogger.py17
-rwxr-xr-xsrc/worklog2
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):