Telemere 1.0.0-beta21
Released under the Eclipse Public License - v 1.0
Structured telemetry library for Clojure/Script.
Installation
To install, add the following dependency to your project or build file:
[com.taoensso/telemere "1.0.0-beta21"]
Namespaces
taoensso.telemere
Structured telemetry for Clojure/Script applications.
Public variables and functions:
- *ctx*
- *middleware*
- *otel-tracer*
- *uid-fn*
- add-handler!
- call-on-shutdown!
- catch->error!
- chance
- check-interop
- comp-middleware
- default-handler-dispatch-opts
- error!
- error-signal?
- event!
- format-signal-fn
- get-env
- get-filters
- get-handlers
- get-handlers-stats
- get-min-levels
- handler:console
- handler:file
- help:environmental-config
- help:filters
- help:handler-dispatch-options
- help:handlers
- help:signal-content
- help:signal-creators
- help:signal-options
- level-aliases
- log!
- msg-skip
- msg-splice
- newline
- otel-default-providers_
- otel-get-default-providers
- otel-tracing?
- pr-signal-fn
- rate-limiter
- remove-handler!
- set-ctx!
- set-id-filter!
- set-kind-filter!
- set-middleware!
- set-min-level!
- set-ns-filter!
- set-var-root!
- signal!
- spy!
- stop-handlers!
- streams->reset!
- streams->telemere!
- trace!
- uncaught->error!
- uncaught->handler!
- update-var-root!
- with-ctx
- with-ctx+
- with-err->telemere
- with-handler
- with-handler+
- with-id-filter
- with-kind-filter
- with-middleware
- with-min-level
- with-ns-filter
- with-out->telemere
- with-signal
- with-signals
- with-streams->telemere
- without-filters
taoensso.telemere.open-telemetry
OpenTelemetry handler using `opentelemetry-java`, +Telemere 1.0.0-beta22 Telemere 1.0.0-beta22
Released under the Eclipse Public License - v 1.0
Structured telemetry library for Clojure/Script.
Installation
To install, add the following dependency to your project or build file:
[com.taoensso/telemere "1.0.0-beta22"]Namespaces
taoensso.telemere
Structured telemetry for Clojure/Script applications.Public variables and functions:
- *ctx*
- *middleware*
- *otel-tracer*
- *uid-fn*
- add-handler!
- call-on-shutdown!
- catch->error!
- chance
- check-interop
- comp-middleware
- default-handler-dispatch-opts
- error!
- error-signal?
- event!
- format-signal-fn
- get-env
- get-filters
- get-handlers
- get-handlers-stats
- get-min-levels
- handler:console
- handler:file
- help:environmental-config
- help:filters
- help:handler-dispatch-options
- help:handlers
- help:signal-content
- help:signal-creators
- help:signal-options
- level-aliases
- log!
- msg-skip
- msg-splice
- newline
- otel-default-providers_
- otel-get-default-providers
- otel-tracing?
- pr-signal-fn
- rate-limiter
- remove-handler!
- set-ctx!
- set-id-filter!
- set-kind-filter!
- set-middleware!
- set-min-level!
- set-ns-filter!
- set-var-root!
- signal!
- spy!
- stop-handlers!
- streams->reset!
- streams->telemere!
- trace!
- uncaught->error!
- uncaught->handler!
- update-var-root!
- with-ctx
- with-ctx+
- with-err->telemere
- with-handler
- with-handler+
- with-id-filter
- with-kind-filter
- with-middleware
- with-min-level
- with-ns-filter
- with-out->telemere
- with-signal
- with-signals
- with-streams->telemere
- without-filters
taoensso.telemere.open-telemetry
OpenTelemetry handler using `opentelemetry-java`, Ref. <https://github.com/open-telemetry/opentelemetry-java>, <https://javadoc.io/doc/io.opentelemetry/opentelemetry-api/latest/index.html>Public variables and functions:
taoensso.telemere.postal
Email handler using `postal`, Ref. <https://github.com/drewr/postal>.Public variables and functions:
taoensso.telemere.slack
Slack handler using `clj-slack`, diff --git a/index.cljs.html b/index.cljs.html index af50b30..6ecf606 100644 --- a/index.cljs.html +++ b/index.cljs.html @@ -1,4 +1,4 @@ -Telemere 1.0.0-beta21 Telemere 1.0.0-beta21
Released under the Eclipse Public License - v 1.0
Structured telemetry library for Clojure/Script.
Installation
To install, add the following dependency to your project or build file:
[com.taoensso/telemere "1.0.0-beta21"]Namespaces
taoensso.telemere
Structured telemetry for Clojure/Script applications.Public variables and functions:
- *ctx*
- *middleware*
- *uid-fn*
- add-handler!
- catch->error!
- chance
- comp-middleware
- default-handler-dispatch-opts
- error!
- error-signal?
- event!
- format-signal-fn
- get-env
- get-filters
- get-handlers
- get-handlers-stats
- get-min-levels
- handler:console
- handler:console-raw
- help:environmental-config
- help:filters
- help:handler-dispatch-options
- help:handlers
- help:signal-content
- help:signal-creators
- help:signal-options
- level-aliases
- log!
- msg-skip
- msg-splice
- newline
- pr-signal-fn
- rate-limiter
- remove-handler!
- set-ctx!
- set-id-filter!
- set-kind-filter!
- set-middleware!
- set-min-level!
- set-ns-filter!
- set-var-root!
- signal!
- spy!
- stop-handlers!
- trace!
- uncaught->error!
- update-var-root!
- with-ctx
- with-ctx+
- with-err->telemere
- with-handler
- with-handler+
- with-id-filter
- with-kind-filter
- with-middleware
- with-min-level
- with-ns-filter
- with-out->telemere
- with-signal
- with-signals
- with-streams->telemere
- without-filters
taoensso.telemere.timbre
Main Timbre macros, reimplemented on top of Telemere. +Telemere 1.0.0-beta22 \ No newline at end of file diff --git a/index.html b/index.html index 21b794b..8f54dac 100644 --- a/index.html +++ b/index.html @@ -1,3 +1,3 @@ -Telemere 1.0.0-beta22
Released under the Eclipse Public License - v 1.0
Structured telemetry library for Clojure/Script.
Installation
To install, add the following dependency to your project or build file:
[com.taoensso/telemere "1.0.0-beta22"]Namespaces
taoensso.telemere
Structured telemetry for Clojure/Script applications.Public variables and functions:
- *ctx*
- *middleware*
- *uid-fn*
- add-handler!
- catch->error!
- chance
- comp-middleware
- default-handler-dispatch-opts
- error!
- error-signal?
- event!
- format-signal-fn
- get-env
- get-filters
- get-handlers
- get-handlers-stats
- get-min-levels
- handler:console
- handler:console-raw
- help:environmental-config
- help:filters
- help:handler-dispatch-options
- help:handlers
- help:signal-content
- help:signal-creators
- help:signal-options
- level-aliases
- log!
- msg-skip
- msg-splice
- newline
- pr-signal-fn
- rate-limiter
- remove-handler!
- set-ctx!
- set-id-filter!
- set-kind-filter!
- set-middleware!
- set-min-level!
- set-ns-filter!
- set-var-root!
- signal!
- spy!
- stop-handlers!
- trace!
- uncaught->error!
- update-var-root!
- with-ctx
- with-ctx+
- with-err->telemere
- with-handler
- with-handler+
- with-id-filter
- with-kind-filter
- with-middleware
- with-min-level
- with-ns-filter
- with-out->telemere
- with-signal
- with-signals
- with-streams->telemere
- without-filters
taoensso.telemere.timbre
Main Timbre macros, reimplemented on top of Telemere. Intended to help ease migration from Timbre to Telemere.Public variables and functions:
taoensso.telemere.utils
Misc utils useful for Telemere handlers, middleware, etc.Telemere 1.0.0-beta21 \ No newline at end of file +Telemere 1.0.0-beta21
Released under the Eclipse Public License - v 1.0
Structured telemetry library for Clojure/Script.
Installation
To install, add the following dependency to your project or build file:
[com.taoensso/telemere "1.0.0-beta21"]Platforms
This project includes code for multiple platforms, please choose a platform to view its documentation:
Telemere 1.0.0-beta22 \ No newline at end of file diff --git a/taoensso.telemere.cljs.html b/taoensso.telemere.cljs.html index 1802564..39178ae 100644 --- a/taoensso.telemere.cljs.html +++ b/taoensso.telemere.cljs.html @@ -1,6 +1,6 @@ -Telemere 1.0.0-beta22
Released under the Eclipse Public License - v 1.0
Structured telemetry library for Clojure/Script.
Installation
To install, add the following dependency to your project or build file:
[com.taoensso/telemere "1.0.0-beta22"]Platforms
This project includes code for multiple platforms, please choose a platform to view its documentation:
taoensso.telemere documentation taoensso.telemere
Structured telemetry for Clojure/Script applications. +taoensso.telemere documentation taoensso.telemere
Structured telemetry for Clojure/Script applications. See the GitHub page (esp. Wiki) for info on motivation and design: <https://www.taoensso.com/telemere>*ctx*
dynamic
clj
cljs
Optional context (state) attached to all signals. @@ -68,7 +68,7 @@ For plain fixed-length UUID strings use: (fn [_root?] (utils/uuid-str)) See also `utils/nano-uid-fn`, `utils/hex-id-fn`, etc.add-handler!
clj
cljs
(add-handler! handler-id handler-fn)(add-handler! handler-id handler-fn dispatch-opts)Registers given signal handler and returns {<handler-id> {:keys [dispatch-opts handler-fn]}} for all handlers -now registered. +now registered. If an old handler already existed under the same id, stop it. `handler-fn` should be a fn of exactly 2 arities: @@ -772,18 +772,24 @@ still registered.set-id-filter!
clj
cljs
(set-id-filter! id-filter)Sets signal id filter based on given `id-filter` spec. `id-filter` may be: - - A str/kw/sym to allow, in which "*"s act as wildcards. - - A regex pattern of id/s to allow. - - A vector or set of regex patterns or strs/kws/syms. - - {:allow <spec> :disallow <spec>} with specs as above. + - A regex pattern of id/s to allow + - A str/kw/sym to allow, with "*" and "(.*)" as wildcards: + "foo.*" will allow "foo.bar" + "foo(.*)" will allow "foo.bar" and "foo" + + - A set/vector of above (allow on any match) + - A map, {:allow <spec> :disallow <spec>} with specs as above: If present, `:allow` spec MUST match, AND If present, `:disallow` spec MUST NOT match.set-kind-filter!
clj
cljs
(set-kind-filter! kind-filter)Sets signal kind filter based on given `kind-filter` spec. `kind-filter` may be: - - A str/kw/sym to allow, in which "*"s act as wildcards. - - A regex pattern of kind/s to allow. - - A vector or set of regex patterns or strs/kws/syms. - - {:allow <spec> :disallow <spec>} with specs as above. + - A regex pattern of kind/s to allow + - A str/kw/sym to allow, with "*" and "(.*)" as wildcards: + "foo.*" will allow "foo.bar" + "foo(.*)" will allow "foo.bar" and "foo" + + - A set/vector of above (allow on any match) + - A map, {:allow <spec> :disallow <spec>} with specs as above: If present, `:allow` spec MUST match, AND If present, `:disallow` spec MUST NOT match.set-middleware!
clj
cljs
(set-middleware! ?root-middleware-fn)Set `*middleware*` var's default (root) value. See `*middleware*` for details.set-min-level!
clj
cljs
(set-min-level! min-level)(set-min-level! kind min-level)(set-min-level! kind ns-filter min-level)Sets minimum signal level based on given `min-level` spec. @@ -811,10 +817,13 @@ Examples: `ns-filter` may be: - A namespace. - - A str/kw/sym to allow, in which "*"s act as wildcards. - - A regex pattern of namespace/s to allow. - - A vector or set of regex patterns or strs/kws/syms. - - {:allow <spec> :disallow <spec>} with specs as above. + - A regex pattern of namespaces/s to allow + - A str/kw/sym to allow, with "*" and "(.*)" as wildcards: + "foo.*" will allow "foo.bar" + "foo(.*)" will allow "foo.bar" and "foo" + + - A set/vector of above (allow on any match) + - A map, {:allow <spec> :disallow <spec>} with specs as above: If present, `:allow` spec MUST match, AND If present, `:disallow` spec MUST NOT match.set-var-root!
macro
clj
cljs
added in Encore v3.75.0 (2024-01-29)
(set-var-root! var-sym root-val)Sets root binding (value) of the var identified by given symbol, and returns the new value. Cross-platform. See also `update-var-root!`.signal!
macro
clj
cljs
(signal! {:as opts, :keys [elidable? location inst uid middleware sample-rate kind ns id level when rate-limit ctx parent root trace? do let data msg error run & kvs]})Low-level generic signal creator. diff --git a/taoensso.telemere.html b/taoensso.telemere.html index 90e6166..9c2e8aa 100644 --- a/taoensso.telemere.html +++ b/taoensso.telemere.html @@ -1,6 +1,6 @@ -taoensso.telemere documentation taoensso.telemere
Structured telemetry for Clojure/Script applications. +taoensso.telemere documentation taoensso.telemere
Structured telemetry for Clojure/Script applications. See the GitHub page (esp. Wiki) for info on motivation and design: <https://www.taoensso.com/telemere>*ctx*
dynamic
clj
cljs
Optional context (state) attached to all signals. @@ -110,10 +110,11 @@ See also `error!`. Runs Telemere's registered interop checks and returns info useful for tests/debugging, e.g.: - {:tools-logging {:present? false} - :slf4j {:present? true - :sending->telemere? true - :telemere-receiving? true} + {:open-telemetry {:present? false} + :tools-logging {:present? false} + :slf4j {:present? true + :sending->telemere? true + :telemere-receiving? true} ...}comp-middleware
clj
cljs
added in Encore v3.106.0 (2024-05-01)
(comp-middleware fs)(comp-middleware f1 f2)(comp-middleware f1 f2 f3)(comp-middleware f1 f2 f3 & fs)Returns a single (composite) unary fn that applies all given unary fns sequentially (left->right!: f1, f2, ...). If any given fn returns nil, the returned composite fn immediately returns nil: @@ -826,18 +827,24 @@ still registered.set-id-filter!
clj
cljs
(set-id-filter! id-filter)Sets signal id filter based on given `id-filter` spec. `id-filter` may be: - - A str/kw/sym to allow, in which "*"s act as wildcards. - - A regex pattern of id/s to allow. - - A vector or set of regex patterns or strs/kws/syms. - - {:allow <spec> :disallow <spec>} with specs as above. + - A regex pattern of id/s to allow + - A str/kw/sym to allow, with "*" and "(.*)" as wildcards: + "foo.*" will allow "foo.bar" + "foo(.*)" will allow "foo.bar" and "foo" + + - A set/vector of above (allow on any match) + - A map, {:allow <spec> :disallow <spec>} with specs as above: If present, `:allow` spec MUST match, AND If present, `:disallow` spec MUST NOT match.set-kind-filter!
clj
cljs
(set-kind-filter! kind-filter)Sets signal kind filter based on given `kind-filter` spec. `kind-filter` may be: - - A str/kw/sym to allow, in which "*"s act as wildcards. - - A regex pattern of kind/s to allow. - - A vector or set of regex patterns or strs/kws/syms. - - {:allow <spec> :disallow <spec>} with specs as above. + - A regex pattern of kind/s to allow + - A str/kw/sym to allow, with "*" and "(.*)" as wildcards: + "foo.*" will allow "foo.bar" + "foo(.*)" will allow "foo.bar" and "foo" + + - A set/vector of above (allow on any match) + - A map, {:allow <spec> :disallow <spec>} with specs as above: If present, `:allow` spec MUST match, AND If present, `:disallow` spec MUST NOT match.set-middleware!
clj
cljs
(set-middleware! ?root-middleware-fn)Set `*middleware*` var's default (root) value. See `*middleware*` for details.set-min-level!
clj
cljs
(set-min-level! min-level)(set-min-level! kind min-level)(set-min-level! kind ns-filter min-level)Sets minimum signal level based on given `min-level` spec. @@ -865,10 +872,13 @@ Examples: `ns-filter` may be: - A namespace. - - A str/kw/sym to allow, in which "*"s act as wildcards. - - A regex pattern of namespace/s to allow. - - A vector or set of regex patterns or strs/kws/syms. - - {:allow <spec> :disallow <spec>} with specs as above. + - A regex pattern of namespaces/s to allow + - A str/kw/sym to allow, with "*" and "(.*)" as wildcards: + "foo.*" will allow "foo.bar" + "foo(.*)" will allow "foo.bar" and "foo" + + - A set/vector of above (allow on any match) + - A map, {:allow <spec> :disallow <spec>} with specs as above: If present, `:allow` spec MUST match, AND If present, `:disallow` spec MUST NOT match.set-var-root!
macro
clj
cljs
added in Encore v3.75.0 (2024-01-29)
(set-var-root! var-sym root-val)Sets root binding (value) of the var identified by given symbol, and returns the new value. Cross-platform. See also `update-var-root!`.signal!
macro
clj
cljs
(signal! {:as opts, :keys [elidable? location inst uid middleware sample-rate kind ns id level when rate-limit ctx parent root trace? do let data msg error run & kvs]})Low-level generic signal creator. diff --git a/taoensso.telemere.open-telemetry.html b/taoensso.telemere.open-telemetry.html index 4104418..ebdd682 100644 --- a/taoensso.telemere.open-telemetry.html +++ b/taoensso.telemere.open-telemetry.html @@ -1,6 +1,6 @@ -taoensso.telemere.open-telemetry documentation taoensso.telemere.open-telemetry
OpenTelemetry handler using `opentelemetry-java`, +taoensso.telemere.open-telemetry documentation taoensso.telemere.open-telemetry
OpenTelemetry handler using `opentelemetry-java`, Ref. <https://github.com/open-telemetry/opentelemetry-java>, <https://javadoc.io/doc/io.opentelemetry/opentelemetry-api/latest/index.html>check-interop
clj
(check-interop)Returns interop debug info map.handler:open-telemetry
clj
(handler:open-telemetry)(handler:open-telemetry {:keys [emit-tracing? logger-provider], :or {emit-tracing? true}})Highly experimental, possibly buggy, and subject to change!! diff --git a/taoensso.telemere.postal.html b/taoensso.telemere.postal.html index 654663e..125acd2 100644 --- a/taoensso.telemere.postal.html +++ b/taoensso.telemere.postal.html @@ -1,6 +1,6 @@ -taoensso.telemere.postal documentation taoensso.telemere.postal
Email handler using `postal`, +taoensso.telemere.postal documentation taoensso.telemere.postal
Email handler using `postal`, Ref. <https://github.com/drewr/postal>.default-dispatch-opts
clj
handler:postal
clj
(handler:postal {:keys [conn-opts msg-opts subject-fn body-fn], :or {subject-fn (signal-subject-fn), body-fn (utils/format-signal-fn)}})Experimental, subject to change. Needs `postal`, Ref. <https://github.com/drewr/postal>. diff --git a/taoensso.telemere.slack.html b/taoensso.telemere.slack.html index c303d1f..3a6f2c2 100644 --- a/taoensso.telemere.slack.html +++ b/taoensso.telemere.slack.html @@ -1,6 +1,6 @@ -taoensso.telemere.slack documentation taoensso.telemere.slack
Slack handler using `clj-slack`, +taoensso.telemere.slack documentation taoensso.telemere.slack
Slack handler using `clj-slack`, Ref. <https://github.com/julienXX/clj-slack>default-dispatch-opts
clj
handler:slack
clj
(handler:slack {:keys [conn-opts post-opts output-fn], :or {conn-opts {:api-url "https://slack.com/api", :token nil}, post-opts {:channel-id nil, :username nil}, output-fn (utils/format-signal-fn)}})Experimental, subject to change. Needs `clj-slack`, Ref. <https://github.com/julienXX/clj-slack>. diff --git a/taoensso.telemere.sockets.html b/taoensso.telemere.sockets.html index 1e7b5bd..236436d 100644 --- a/taoensso.telemere.sockets.html +++ b/taoensso.telemere.sockets.html @@ -1,6 +1,6 @@ -taoensso.telemere.sockets documentation taoensso.telemere.sockets
Basic TCP/UDP socket handlers. +taoensso.telemere.sockets documentation taoensso.telemere.sockets
Basic TCP/UDP socket handlers.handler:tcp-socket
clj
(handler:tcp-socket {:keys [socket-opts output-fn], :or {output-fn (utils/format-signal-fn)}})Experimental, subject to change. Returns a signal handler that: diff --git a/taoensso.telemere.streams.html b/taoensso.telemere.streams.html index 872dd67..c41bba1 100644 --- a/taoensso.telemere.streams.html +++ b/taoensso.telemere.streams.html @@ -1,6 +1,6 @@ -taoensso.telemere.streams documentation taoensso.telemere.streams
Interop support for standard stream/s -> Telemere. +taoensso.telemere.streams documentation taoensso.telemere.streams
Interop support for standard stream/s -> Telemere.check-err-interop
clj
(check-err-interop)Returns interop debug info map.check-out-interop
clj
(check-out-interop)Returns interop debug info map.streams->reset!
clj
(streams->reset!)Experimental, subject to change. diff --git a/taoensso.telemere.timbre.cljs.html b/taoensso.telemere.timbre.cljs.html index 32d497f..d20c2e1 100644 --- a/taoensso.telemere.timbre.cljs.html +++ b/taoensso.telemere.timbre.cljs.html @@ -1,6 +1,6 @@ -taoensso.telemere.timbre documentation taoensso.telemere.timbre
Main Timbre macros, reimplemented on top of Telemere. +taoensso.telemere.timbre documentation \ No newline at end of file diff --git a/taoensso.telemere.timbre.html b/taoensso.telemere.timbre.html index 0eddd14..b410a4e 100644 --- a/taoensso.telemere.timbre.html +++ b/taoensso.telemere.timbre.html @@ -1,6 +1,6 @@ -taoensso.telemere.timbre
Main Timbre macros, reimplemented on top of Telemere. Intended to help ease migration from Timbre to Telemere.taoensso.telemere.timbre documentation taoensso.telemere.timbre
Main Timbre macros, reimplemented on top of Telemere. +taoensso.telemere.timbre documentation taoensso.telemere.timbre
Main Timbre macros, reimplemented on top of Telemere. Intended to help ease migration from Timbre to Telemere.debug
macro
clj
(debug & args)Prefer `telemere/log!`, etc.debugf
macro
clj
(debugf & args)Prefer `telemere/log!`, etc.error
macro
clj
(error & args)Prefer `telemere/log!`, etc. diff --git a/taoensso.telemere.tools-logging.html b/taoensso.telemere.tools-logging.html index b5fb59c..58ed79d 100644 --- a/taoensso.telemere.tools-logging.html +++ b/taoensso.telemere.tools-logging.html @@ -1,6 +1,6 @@ -taoensso.telemere.tools-logging documentation taoensso.telemere.tools-logging
Interop support for `tools.logging` -> Telemere. +taoensso.telemere.tools-logging documentation taoensso.telemere.tools-logging
Interop support for `tools.logging` -> Telemere. Telemere will attempt to load this ns automatically when possible. Naming conventions: diff --git a/taoensso.telemere.utils.cljs.html b/taoensso.telemere.utils.cljs.html index fb2152d..e9f81a9 100644 --- a/taoensso.telemere.utils.cljs.html +++ b/taoensso.telemere.utils.cljs.html @@ -1,6 +1,6 @@ -taoensso.telemere.utils documentation taoensso.telemere.utils
Misc utils useful for Telemere handlers, middleware, etc. +taoensso.telemere.utils documentation taoensso.telemere.utils
Misc utils useful for Telemere handlers, middleware, etc.error-signal?
clj
cljs
(error-signal? signal)Experimental, subject to change. Returns true iff given signal has an `:error` value, or a `:kind` or `:level` that indicates that it's an error.format-error-fn
clj
cljs
(format-error-fn)(format-error-fn {:as _opts})Experimental, subject to change. diff --git a/taoensso.telemere.utils.html b/taoensso.telemere.utils.html index 2434cfc..9db0696 100644 --- a/taoensso.telemere.utils.html +++ b/taoensso.telemere.utils.html @@ -1,6 +1,6 @@ -taoensso.telemere.utils documentation taoensso.telemere.utils
Misc utils useful for Telemere handlers, middleware, etc. +taoensso.telemere.utils documentation taoensso.telemere.utils
Misc utils useful for Telemere handlers, middleware, etc.error-signal?
clj
cljs
(error-signal? signal)Experimental, subject to change. Returns true iff given signal has an `:error` value, or a `:kind` or `:level` that indicates that it's an error.file-writer
clj
(file-writer {:keys [file append?], :or {append? true}})Experimental, subject to change.