Unified structured logging for replikativ projects using trove facade.
All log calls require a namespaced keyword ID for structured filtering.
Provides level macros (trace, debug, info, warn, error), a raise macro for logging + throwing, and timing utilities.
Usage: (require '[replikativ.logging :as log])
;; message only (for backwards compatibility) (log/info "Using config")
;; ID + message (log/info :datahike/connector "Using config")
;; ID + message + data (log/info :datahike/connector "Using config" {:config c})
;; ID + data only (log/info :datahike/connector {:config c})
;; Error logging + throw (log/raise "Invalid input" {:type :validation-error :input x})
;; Timing (log/with-timing :info :component/op "msg" (body))
Unified structured logging for replikativ projects using trove facade.
All log calls require a namespaced keyword ID for structured filtering.
Provides level macros (trace, debug, info, warn, error), a raise macro
for logging + throwing, and timing utilities.
Usage:
(require '[replikativ.logging :as log])
;; message only (for backwards compatibility)
(log/info "Using config")
;; ID + message
(log/info :datahike/connector "Using config")
;; ID + message + data
(log/info :datahike/connector "Using config" {:config c})
;; ID + data only
(log/info :datahike/connector {:config c})
;; Error logging + throw
(log/raise "Invalid input" {:type :validation-error :input x})
;; Timing
(log/with-timing :info :component/op "msg" (body))cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |