Liking cljdoc? Tell your friends :D

taoensso.telemere.shell

Experimental, subject to change.
Minimal Telemere shell API for library authors, etc.
Allows library code to use Telemere if it's present, or fall back to
something like tools.logging otherwise.

if-telemereclj/smacro

(if-telemere then)
(if-telemere then else)
Evaluates to `then` form if Telemere is present when expanding macro.
Otherwise expands to `else` form.
source

require-telemere-if-presentclj/smacro

(require-telemere-if-present)
Experimental, subject to change.
Requires Telemere if it's present, otherwise noops.
Used in cooperation with `signal!`, etc.

For Cljs:
  - MUST be placed at top of file, just below `ns` form
  - Needs ClojureScript >= v1.9.293 (Oct 2016)
source

set-min-level!clj/smacro

(set-min-level! min-level)
(set-min-level! kind min-level)
(set-min-level! kind ns-filter min-level)
Expands to `taoensso.telemere/set-min-level!` call iff Telemere is present.
Otherwise expands to `nil` (noops).
source

signal!clj/smacro

(signal! {:as opts
          :keys [fallback elidable? location inst uid middleware sample-rate
                 kind ns id level when rate-limit rate-limit-by ctx parent root
                 trace? do let data msg error run & kvs]})
Experimental, subject to change.
Telemere shell API for library authors, etc.

Expands to `taoensso.telemere/signal!` call if Telemere is present.
Otherwise expands to arbitrary `fallback` opt form.

Allows library code to use Telemere if it's present, or fall back to
something like tools.logging otherwise.

MUST be used with `require-telemere-if-present`, example:

 (ns my-lib
   (:require
     [taoensso.telemere.shell :as t] ; `com.taoensso/telemere-shell` dependency
     [clojure.tools.logging :as ctl] ; `org.clojure/tools.logging`   dependency
     ))

  (t/require-telemere-if-present) ; Just below `ns` form!

  (t/signal!
    {:kind :log, :id :my-id, :level :warn,
     :let  [x :x]
     :msg  ["Hello" "world" x]
     :data {:a :A :x x}
     :fallback (ctl/warn (str "Hello world" x))})

For more info, see:
  - Telemere `signal!`, Ref. <https://www.taoensso.com/telemere/signal!>
  - Telemere docs,      Ref. <https://www.taoensso.com/telemere>
source

signal-allowed?clj/smacro

(signal-allowed? {:as opts
                  :keys [elidable? location sample-rate kind ns id level when
                         rate-limit rate-limit-by]})
Experimental, subject to change.
Returns true iff Telemere is present and signal with given opts would meet
filtering conditions.

MUST be used with `require-telemere-if-present`, example:

  (ns my-lib (:require [taoensso.telemere.shell :as t]))
  (t/require-telemere-if-present) ; Just below `ns` form!

  (when (t/signal-allowed? {:level :warn, <...>})
    (my-custom-code))
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close