1 Commits
2.0.2 ... 2.0.3

Author SHA1 Message Date
bff544ab89 Add convenience methods for setting thresholds. 2025-07-12 13:22:17 -05:00
2 changed files with 18 additions and 1 deletions

View File

@ -1,6 +1,6 @@
# Package
version = "2.0.2"
version = "2.0.3"
author = "Jonathan Bernard"
description = "Wrapper around std/logging to provide namespaced logging."
license = "MIT"

View File

@ -391,6 +391,17 @@ proc setThreshold*(ls: ThreadLocalLogService, scope: string, lvl: Level) {.gcsaf
setThreshold(ls[], scope, lvl)
proc setThresholds*(ls: var LogService, thresholds: TableRef[string, Level]) {.gcsafe.} =
withLock ls.global.lock:
for k,v in thresholds: ls.global.thresholds[k] = v
ls.global.configVersion.atomicInc
ensureFreshness(ls)
proc setThresholds*(ls: ThreadLocalLogService, thresholds: TableRef[string, Level]) {.gcsafe.} =
setThresholds(ls[], thresholds)
proc getLogger*(
ls: ThreadLocalLogService,
scope: string,
@ -425,6 +436,12 @@ proc getLogger*(
else: none[Logger]()
proc appenders*(ls: var LogService): seq[LogAppender] {.gcsafe.} =
for a in ls.appenders: result.add(clone(a))
proc appenders*(ls: ThreadLocalLogService): seq[LogAppender] {.gcsafe.} =
ls[].appenders()
proc addAppender*(ls: var LogService, appender: LogAppender) {.gcsafe.} =
## Add a log appender to the global log service and refresh the local thread
## state. The updated global state will trigger other threads to refresh