Add convenience methods for setting thresholds.

This commit is contained in:
jdb committed 2025-07-12 13:22:17 -05:00
1 parent 3178c50936
commit bff544ab89
2 files changed
+18 -1

No files matched your search

+17
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