<<ahref="https://www.taoensso.com/telemere">https://www.taoensso.com/telemere</a>></pre></div><divclass="public anchor"id="var-*ctx*"><h3>*ctx*</h3><h4class="dynamic">dynamic</h4><h4class="lang"><ahref="taoensso.telemere.html#var-*ctx*">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext">Dynamic context: arbitrary user-level state attached as `:ctx` to all signals.
Value may be any type, but is usually nil or a map.
Re/bind dynamic value using `with-ctx`, `with-ctx+`, or `binding`.
Modify root (base) value using `set-ctx!`.
Default root (base) value is `default-ctx`.
Note that as with all dynamic Clojure vars, "binding conveyance" applies
when using futures, agents, etc.
Tips:
- Value may be (or may contain) an atom if you want mutable semantics
- Value may be of form {<scope-id><data>} for custom scoping, etc.</pre></div></div><divclass="public anchor"id="var-*middleware*"><h3>*middleware*</h3><h4class="dynamic">dynamic</h4><h4class="lang"><ahref="taoensso.telemere.html#var-*middleware*">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext">Optional vector of unary middleware fns to apply (sequentially/left-to-right)
to each signal before passing it to handlers. If any middleware fn returns nil,
aborts immediately without calling handlers.
Useful for transforming each signal before handling.
Re/bind dynamic value using `with-middleware`, `binding`.
Modify root (base) value using `set-middleware!`.</pre></div></div><divclass="public anchor"id="var-add-handler.21"><h3>add-handler!</h3><h4class="lang"><ahref="taoensso.telemere.html#var-add-handler.21">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(add-handler! handler-id handler-fn)</code><code>(add-handler! handler-id handler-fn dispatch-opts)</code></div><divclass="doc"><preclass="plaintext">Registers given signal handler and returns
{<handler-id> {:keys [dispatch-opts handler-fn]}} for all signal handlers
Note: call filters should generally be at least as permissive as handler filters,
otherwise calls will be suppressed before reaching handlers.</pre></div></div><divclass="public anchor"id="var-chance"><h3>chance</h3><h4class="lang"><ahref="taoensso.telemere.html#var-chance">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext"></pre></div></div><divclass="public anchor"id="var-check-interop"><h3>check-interop</h3><h4class="lang"><ahref="taoensso.telemere.html#var-check-interop">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext"></pre></div></div><divclass="public anchor"id="var-default-ctx"><h3>default-ctx</h3><h4class="lang"><ahref="taoensso.telemere.html#var-default-ctx">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext">Advanced feature. Default root (base) value of `*ctx*` var, controlled by:
See `get-env` for details.</pre></div></div><divclass="public anchor"id="var-format-error"><h3>format-error</h3><h4class="lang"><ahref="taoensso.telemere.html#var-format-error">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(format-error error)</code><code>(format-error _ error)</code></div><divclass="doc"><preclass="plaintext">TODO Docstring
</pre></div></div><divclass="public anchor"id="var-get-filters"><h3>get-filters</h3><h4class="lang"><ahref="taoensso.telemere.html#var-get-filters">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(get-filters)</code></div><divclass="doc"><preclass="plaintext">Returns current ?{:keys [compile-time runtime]} filter config.
</pre></div></div><divclass="public anchor"id="var-get-handlers"><h3>get-handlers</h3><h4class="lang"><ahref="taoensso.telemere.html#var-get-handlers">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(get-handlers)</code></div><divclass="doc"><preclass="plaintext">Returns ?{<handler-id> {:keys [dispatch-opts handler-fn]}} for all
registered signal handlers.</pre></div></div><divclass="public anchor"id="var-get-min-level"><h3>get-min-level</h3><h4class="lang"><ahref="taoensso.telemere.html#var-get-min-level">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(get-min-level)</code><code>(get-min-level kind)</code><code>(get-min-level kind ns)</code></div><divclass="doc"><preclass="plaintext">Returns current ?{:keys [compile-time runtime]} minimum levels.
</pre></div></div><divclass="public anchor"id="var-help.3Afilters"><h3>help:filters</h3><h4class="lang"><ahref="taoensso.telemere.html#var-help.3Afilters">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext">Your filter config determines which signal calls will be allowed.
improve these docs!</pre></div></div><divclass="public anchor"id="var-help.3Ahandlers"><h3>help:handlers</h3><h4class="lang"><ahref="taoensso.telemere.html#var-help.3Ahandlers">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext">The handler API consists of the following:
`get-handlers` - Returns info on currently registered handlers
`add-handler!` - Used to register handlers
`remove-handler!` - Used to unregister handlers
See the relevant docstrings for details.
If anything is unclear, please ping me (@ptaoussanis) so that I can
improve these docs!</pre></div></div><divclass="public anchor"id="var-level-aliases"><h3>level-aliases</h3><h4class="lang"><ahref="taoensso.telemere.html#var-level-aliases">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext"></pre></div></div><divclass="public anchor"id="var-msg-skip"><h3>msg-skip</h3><h4class="lang"><ahref="taoensso.telemere.html#var-msg-skip">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext"></pre></div></div><divclass="public anchor"id="var-msg-splice"><h3>msg-splice</h3><h4class="lang"><ahref="taoensso.telemere.html#var-msg-splice">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext"></pre></div></div><divclass="public anchor"id="var-newline"><h3>newline</h3><h4class="lang"><ahref="taoensso.telemere.html#var-newline">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext"></pre></div></div><divclass="public anchor"id="var-rate-limiter"><h3>rate-limiter</h3><h4class="lang"><ahref="taoensso.telemere.html#var-rate-limiter">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext"></pre></div></div><divclass="public anchor"id="var-remove-handler.21"><h3>remove-handler!</h3><h4class="lang"><ahref="taoensso.telemere.html#var-remove-handler.21">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(remove-handler! handler-id)</code></div><divclass="doc"><preclass="plaintext">Deregisters signal handler with given id, and returns
?{<handler-id> {:keys [dispatch-opts handler-fn]}} for all signal handlers
still registered.</pre></div></div><divclass="public anchor"id="var-set-id-filter.21"><h3>set-id-filter!</h3><h4class="lang"><ahref="taoensso.telemere.html#var-set-id-filter.21">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(set-id-filter! id-filter)</code></div><divclass="doc"><preclass="plaintext">Sets signal call id filter based on given `id-filter` spec.
- A vector or set of regex patterns or strs/kws/syms.
- {:allow <spec> :deny <spec>} with specs as above.</pre></div></div><divclass="public anchor"id="var-set-kind-filter.21"><h3>set-kind-filter!</h3><h4class="lang"><ahref="taoensso.telemere.html#var-set-kind-filter.21">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(set-kind-filter! kind-filter)</code></div><divclass="doc"><preclass="plaintext">Sets signal call kind filter based on given `kind-filter` spec.
- A vector or set of regex patterns or strs/kws/syms.
- {:allow <spec> :deny <spec>} with specs as above.</pre></div></div><divclass="public anchor"id="var-set-min-level.21"><h3>set-min-level!</h3><h4class="lang"><ahref="taoensso.telemere.html#var-set-min-level.21">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(set-min-level! min-level)</code><code>(set-min-level! kind min-level)</code><code>(set-min-level! kind ns-filter min-level)</code></div><divclass="doc"><preclass="plaintext">Sets minimum signal call level based on given `min-level` spec.
- A level keyword (see `level-aliases` var for details).
If `ns-filter` is provided, then the given minimum level
will apply only for namespaces that match `ns-filter`.
See `set-ns-filter!` for details.
If non-nil `kind` is provided, then the given minimum level
will apply only for that signal kind.</pre></div></div><divclass="public anchor"id="var-set-ns-filter.21"><h3>set-ns-filter!</h3><h4class="lang"><ahref="taoensso.telemere.html#var-set-ns-filter.21">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(set-ns-filter! ns-filter)</code></div><divclass="doc"><preclass="plaintext">Sets signal call namespace filter based on given `ns-filter` spec.
- A vector or set of regex patterns or strs/kws/syms.
- {:allow <spec> :deny <spec>} with specs as above.</pre></div></div><divclass="public anchor"id="var-with-handler"><h3>with-handler</h3><h4class="type">macro</h4><h4class="lang"><ahref="taoensso.telemere.html#var-with-handler">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(with-handler handler-id handler-fn dispatch-opts form)</code></div><divclass="doc"><preclass="plaintext">Executes form with ONLY the given handler-fn registered.
Useful for tests/debugging. See also `with-handler+`.</pre></div></div><divclass="public anchor"id="var-with-handler.2B"><h3>with-handler+</h3><h4class="type">macro</h4><h4class="lang"><ahref="taoensso.telemere.html#var-with-handler.2B">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(with-handler+ handler-id handler-fn dispatch-opts form)</code></div><divclass="doc"><preclass="plaintext">Executes form with the given handler-fn registered.
Useful for tests/debugging. See also `with-handler`.</pre></div></div><divclass="public anchor"id="var-with-id-filter"><h3>with-id-filter</h3><h4class="type">macro</h4><h4class="lang"><ahref="taoensso.telemere.html#var-with-id-filter">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(with-id-filter id-filter form)</code></div><divclass="doc"><preclass="plaintext">Executes form with given signal call id filter in effect.
See `set-id-filter!` for details.</pre></div></div><divclass="public anchor"id="var-with-kind-filter"><h3>with-kind-filter</h3><h4class="type">macro</h4><h4class="lang"><ahref="taoensso.telemere.html#var-with-kind-filter">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(with-kind-filter kind-filter form)</code></div><divclass="doc"><preclass="plaintext">Executes form with given signal call kind filter in effect.
See `set-kind-filter!` for details.</pre></div></div><divclass="public anchor"id="var-with-min-level"><h3>with-min-level</h3><h4class="type">macro</h4><h4class="lang"><ahref="taoensso.telemere.html#var-with-min-level">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(with-min-level min-level form)</code><code>(with-min-level kind min-level form)</code><code>(with-min-level kind ns-filter min-level form)</code></div><divclass="doc"><preclass="plaintext">Executes form with given minimum signal call level in effect.
See `set-min-level!` for details.</pre></div></div><divclass="public anchor"id="var-with-ns-filter"><h3>with-ns-filter</h3><h4class="type">macro</h4><h4class="lang"><ahref="taoensso.telemere.html#var-with-ns-filter">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(with-ns-filter ns-filter form)</code></div><divclass="doc"><preclass="plaintext">Executes form with given signal call namespace filter in effect.
See `set-ns-filter!` for details.</pre></div></div><divclass="public anchor"id="var-without-filters"><h3>without-filters</h3><h4class="type">macro</h4><h4class="lang"><ahref="taoensso.telemere.html#var-without-filters">clj</a></h4><h4class="lang current">cljs</h4><divclass="usage"><code>(without-filters form)</code></div><divclass="doc"><preclass="plaintext">Executes form without any runtime filters.