From 37058e7f6bd3a7a69ca0b526f2b84ae546dcdea6 Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Tue, 23 Apr 2024 17:51:15 +0200 Subject: [PATCH] v1.0.0-beta3 (2024-04-24) --- index.clj.html | 5 +- index.cljs.html | 2 +- index.html | 2 +- taoensso.telemere.cljs.html | 60 ++++++++------ ...nsso.telemere.handlers.open-telemetry.html | 15 ++++ taoensso.telemere.html | 82 ++++++++++--------- taoensso.telemere.open-telemetry.html | 14 ++++ taoensso.telemere.streams.html | 22 +++++ taoensso.telemere.timbre.cljs.html | 2 +- taoensso.telemere.timbre.html | 2 +- taoensso.telemere.tools-logging.html | 11 +++ taoensso.telemere.utils.cljs.html | 2 +- taoensso.telemere.utils.html | 2 +- 13 files changed, 151 insertions(+), 70 deletions(-) create mode 100644 taoensso.telemere.handlers.open-telemetry.html create mode 100644 taoensso.telemere.open-telemetry.html create mode 100644 taoensso.telemere.streams.html create mode 100644 taoensso.telemere.tools-logging.html diff --git a/index.clj.html b/index.clj.html index 3611252..cdba8af 100644 --- a/index.clj.html +++ b/index.clj.html @@ -1,4 +1,5 @@ -Telemere 1.0.0-beta1

Telemere 1.0.0-beta1

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-beta1"]

Namespaces

\ No newline at end of file +Telemere 1.0.0-beta3

Telemere 1.0.0-beta3

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-beta3"]

Namespaces

taoensso.telemere.open-telemetry

Core OpenTelemetry handler and utils.

taoensso.telemere.tools-logging

Intake support for `clojure.tools.logging` -> Telemere.
+Telemere will attempt to load this ns automatically when possible.
\ No newline at end of file diff --git a/index.cljs.html b/index.cljs.html index 35dc35f..047e6cc 100644 --- a/index.cljs.html +++ b/index.cljs.html @@ -1,4 +1,4 @@ -Telemere 1.0.0-beta1

Telemere 1.0.0-beta1

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-beta1"]

Namespaces

taoensso.telemere.timbre

Main Timbre macros, reimplemented on top of Telemere.
+Telemere 1.0.0-beta3

Telemere 1.0.0-beta3

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-beta3"]

Namespaces

taoensso.telemere.timbre

Main Timbre macros, reimplemented on top of Telemere.
 Intended to help ease migration from Timbre to Telemere.

Public variables and functions:

\ No newline at end of file diff --git a/index.html b/index.html index 1439203..f2c6a5c 100644 --- a/index.html +++ b/index.html @@ -1,3 +1,3 @@ -Telemere 1.0.0-beta1

Telemere 1.0.0-beta1

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-beta1"]

Platforms

This project includes code for multiple platforms, please choose a platform to view its documentation:

\ No newline at end of file +Telemere 1.0.0-beta3

Telemere 1.0.0-beta3

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-beta3"]

Platforms

This project includes code for multiple platforms, please choose a platform to view its documentation:

\ No newline at end of file diff --git a/taoensso.telemere.cljs.html b/taoensso.telemere.cljs.html index c21eeeb..3578b37 100644 --- a/taoensso.telemere.cljs.html +++ b/taoensso.telemere.cljs.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

Dynamic context: arbitrary user-level state attached as `:ctx` to all signals.
@@ -51,7 +51,7 @@ Dispatch options include:
      NB handling order may be non-sequential when `n-threads` > 1.
 
      Default:
-       {:mode :dropping, :buffer-size 4096, :n-threads 1, :daemon-threads? false}
+       {:mode :dropping, :buffer-size 1024, :n-threads 1, :daemon-threads? true}
 
      Options:
        `mode`        - Mode of operation, ∈ #{:sync :blocking :dropping :sliding}.
@@ -302,10 +302,10 @@ Both compile-time and runtime config can be specified with:
 
 Runtime config can also be specified with:
 
-  `set-kind-filter!`,   `with-kind-filter`    - for filtering calls by signal kind (when relevant)
-  `set-ns-filter!`,     `with-ns-filter`      - for filtering calls by namespace
-  `set-id-filter!`,     `with-id-filter`      - for filtering calls by signal id   (when relevant)
-  `set-minimum-level!`, `with-minimum-level!` - for filtering calls by signal level
+  `set-kind-filter!`, `with-kind-filter` - for filtering calls by signal kind (when relevant)
+  `set-ns-filter!`,   `with-ns-filter`   - for filtering calls by namespace
+  `set-id-filter!`,   `with-id-filter`   - for filtering calls by signal id   (when relevant)
+  `set-min-level!`,   `with-min-level!`  - for filtering calls by signal level
 
   See the relevant docstrings for details.
 
@@ -460,10 +460,10 @@ See relevant docstrings for details.

newline

clj

cljs

added in Encore v3.68.0 (2023-09-25)

Single system newline
-

rate-limiter

clj

cljs

(rate-limiter spec)(rate-limiter opts spec)
Takes a map spec of form {<limit-id> [<n-max-reqs> <msecs-window>]},
-and returns a basic stateful (fn rate-limiter [req-id] [command req-id]).
+

rate-limiter

clj

cljs

(rate-limiter spec)(rate-limiter opts spec)
Takes a spec of form
+  [           [<n-max-reqs> <msecs-window>] ...] or
+  {<limit-id> [<n-max-reqs> <msecs-window>]},
+and returns a basic stateful (fn a-rate-limiter [req-id] [command req-id]).
 
-Call fn with a single request id (e.g. username) by which to count/limit.
+Call the limiter fn with a request id (e.g. username) by which to count/limit.
 Will return:
-  - nil when all limits pass for that id, or
+  - nil when allowed (all limits pass for given req-id), or
   - [<worst-limit-id> <worst-backoff-msecs> {<limit-id> <backoff-msecs>}]
-    when any limits fail for that id.
+    when denied (any limits fail for given req-id).
 
-Or call fn with an additional command argument:
+Or call the limiter fn with an additional command argument:
   `:rl/peek`  <req-id> - Check limits w/o incrementing count.
   `:rl/reset` <req-id> - Reset all limits for given req-id.
 
@@ -546,16 +548,16 @@ still registered.

set-id-filter!

clj

cljs

(set-id-filter! id-filter)
Sets signal call id filter based on given `id-filter` spec.
 `id-filter` may be:
 
-  - A regex pattern of id/s to allow.
   - A str/kw/sym, 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> :deny <spec>} with specs as above.
     If present, `:allow` spec MUST     match, AND
     If present, `:deny`  spec MUST NOT match.

set-kind-filter!

clj

cljs

(set-kind-filter! kind-filter)
Sets signal call kind filter based on given `kind-filter` spec.
 `kind-filter` may be:
 
-  - A regex pattern of kind/s to allow.
   - A str/kw/sym, 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> :deny <spec>} with specs as above.
     If present, `:allow` spec MUST     match, AND
@@ -563,24 +565,36 @@ still registered.

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 call level based on given `min-level` spec.
 `min-level` may be:
 
-  - An integer.
+  - `nil` (=> no minimum level).
   - A level keyword (see `level-aliases` var for details).
+  - An integer.
 
 If `ns-filter` is provided, then the given minimum level
-will apply only for namespaces that match `ns-filter`.
+will apply only for the namespace/s 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.

set-ns-filter!

clj

cljs

(set-ns-filter! ns-filter)
Sets signal call namespace filter based on given `ns-filter` spec.
+will apply only for that signal kind.
+
+Examples:
+
+  (set-min-level! nil)   ; Disable        minimum level
+  (set-min-level! :info) ; Set `:info` as minimum level
+  (set-min-level! 100)   ; Set 100     as minimum level
+
+  ;; Set `:debug` as minimum level for current namespace
+  ;; (nil `kind` => apply to all kinds)
+  (set-min-level! nil *ns* :debug)

set-ns-filter!

clj

cljs

(set-ns-filter! ns-filter)
Sets signal call namespace filter based on given `ns-filter` spec.
 `ns-filter` may be:
 
-  - A regex pattern of namespace/s to allow.
+  - A namespace.
   - A str/kw/sym, 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> :deny <spec>} with specs as above.
     If present, `:allow` spec MUST     match, AND
     If present, `:deny`  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!`.

shut-down-handlers!

clj

cljs

(shut-down-handlers!)
Shuts down all registered signal handlers and returns
+the new value. Cross-platform. See also `update-var-root!`.

shut-down-handlers!

clj

cljs

(shut-down-handlers!)
Shuts down all registered signal handlers in parallel, and returns
 ?{<handler-id> {:keys [okay error]}}.
 
 Future calls to handlers will no-op.
@@ -638,7 +652,7 @@ Tips:
   - Test using `with-signal`: (with-signal (spy! ...)).
   - Supports the same options [2] as other signals [1].
 
-  - Identical to `trace!`, but emphasizing form + level rather than form + id.
+  - Identical to `trace!`, but emphasizes form + level rather than form + id.
 
   - Useful for debugging/monitoring forms, and tracing (nested) execution flow.
   - Execution of `form` arg may create additional (nested) signals.
@@ -678,7 +692,7 @@ Tips:
   - Test using `with-signal`: (with-signal (trace! ...)).
   - Supports the same options [2] as other signals [1].
 
-  - Identical to `spy!`, but emphasizing form + id rather than form + level.
+  - Identical to `spy!`, but emphasizes form + id rather than form + level.
 
   - Useful for debugging/monitoring forms, and tracing (nested) execution flow.
   - Execution of `form` arg may create additional (nested) signals.
diff --git a/taoensso.telemere.handlers.open-telemetry.html b/taoensso.telemere.handlers.open-telemetry.html
new file mode 100644
index 0000000..42c8abe
--- /dev/null
+++ b/taoensso.telemere.handlers.open-telemetry.html
@@ -0,0 +1,15 @@
+
+taoensso.telemere.handlers.open-telemetry documentation

taoensso.telemere.handlers.open-telemetry

Core OpenTelemetry handler and utils.
+Telemere will attempt to load this ns automatically when possible.
+
+Needs `OpenTelemetry Java`,
+  Ref. <https://github.com/open-telemetry/opentelemetry-java>.

get-default-logger-provider

clj

(get-default-logger-provider)
Experimental, subject to change!! Feedback very welcome!
+Returns `io.opentelemetry.api.logs.LoggerProvider` via:
+  `AutoConfiguredOpenTelemetrySdk` when possible, or
+  `GlobalOpenTelemetry` otherwise.

handler:open-telemetry-logger

clj

(handler:open-telemetry-logger)(handler:open-telemetry-logger {:keys [logger-provider attrs-key], :or {logger-provider (get-default-logger-provider), attrs-key :open-telemetry-attrs}})
Experimental, subject to change!! Feedback very welcome!
+
+Returns a (fn handler [signal]) that:
+  - Takes a Telemere signal.
+  - Emits signal content to the `io.opentelemetry.api.logs.Logger`
+    returned by given `io.opentelemetry.api.logs.LoggerProvider`.

IAttr+

protocol

clj

\ No newline at end of file diff --git a/taoensso.telemere.html b/taoensso.telemere.html index 8e74d53..23812ef 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

Dynamic context: arbitrary user-level state attached as `:ctx` to all signals.
@@ -51,7 +51,7 @@ Dispatch options include:
      NB handling order may be non-sequential when `n-threads` > 1.
 
      Default:
-       {:mode :dropping, :buffer-size 4096, :n-threads 1, :daemon-threads? false}
+       {:mode :dropping, :buffer-size 1024, :n-threads 1, :daemon-threads? true}
 
      Options:
        `mode`        - Mode of operation, ∈ #{:sync :blocking :dropping :sliding}.
@@ -322,12 +322,7 @@ Options:
     Maximum number of numbered archives to retain for any particular interval.
 
   `:max-num-intervals` ∈ #{nil <pos-int>} (default 6)
-    Maximum number of intervals (days/weeks/months) to retain.

handler:open-telemetry-logger

clj

(handler:open-telemetry-logger)(handler:open-telemetry-logger {:keys [logger-provider attrs-key], :or {logger-provider (get-default-logger-provider), attrs-key :open-telemetry-attrs}})
Experimental, subject to change!! Feedback very welcome!
-
-Returns a (fn handler [signal]) that:
-  - Takes a Telemere signal.
-  - Emits signal content to the `io.opentelemetry.api.logs.Logger`
-    returned by given `io.opentelemetry.api.logs.LoggerProvider`.

help:filters

clj

cljs

Your filter config determines which signal calls will be allowed.
+    Maximum number of intervals (days/weeks/months) to retain.

help:filters

clj

cljs

Your filter config determines which signal calls will be allowed.
 
 Filtering can occur at compile-time (=> elision), or runtime.
 Both compile-time and runtime config can be specified with:
@@ -337,10 +332,10 @@ Both compile-time and runtime config can be specified with:
 
 Runtime config can also be specified with:
 
-  `set-kind-filter!`,   `with-kind-filter`    - for filtering calls by signal kind (when relevant)
-  `set-ns-filter!`,     `with-ns-filter`      - for filtering calls by namespace
-  `set-id-filter!`,     `with-id-filter`      - for filtering calls by signal id   (when relevant)
-  `set-minimum-level!`, `with-minimum-level!` - for filtering calls by signal level
+  `set-kind-filter!`, `with-kind-filter` - for filtering calls by signal kind (when relevant)
+  `set-ns-filter!`,   `with-ns-filter`   - for filtering calls by namespace
+  `set-id-filter!`,   `with-id-filter`   - for filtering calls by signal id   (when relevant)
+  `set-min-level!`,   `with-min-level!`  - for filtering calls by signal level
 
   See the relevant docstrings for details.
 
@@ -457,10 +452,10 @@ Both compile-time and runtime config can be specified with:
 
 Runtime config can also be specified with:
 
-  `set-kind-filter!`,   `with-kind-filter`    - for filtering calls by signal kind (when relevant)
-  `set-ns-filter!`,     `with-ns-filter`      - for filtering calls by namespace
-  `set-id-filter!`,     `with-id-filter`      - for filtering calls by signal id   (when relevant)
-  `set-minimum-level!`, `with-minimum-level!` - for filtering calls by signal level
+  `set-kind-filter!`, `with-kind-filter` - for filtering calls by signal kind (when relevant)
+  `set-ns-filter!`,   `with-ns-filter`   - for filtering calls by namespace
+  `set-id-filter!`,   `with-id-filter`   - for filtering calls by signal id   (when relevant)
+  `set-min-level!`,   `with-min-level!`  - for filtering calls by signal level
 
   See the relevant docstrings for details.
 
@@ -549,10 +544,10 @@ improve these docs!

newline

clj

cljs

added in Encore v3.68.0 (2023-09-25)

Single system newline
-

rate-limiter

clj

cljs

(rate-limiter spec)(rate-limiter opts spec)
Takes a map spec of form {<limit-id> [<n-max-reqs> <msecs-window>]},
-and returns a basic stateful (fn rate-limiter [req-id] [command req-id]).
+

rate-limiter

clj

cljs

(rate-limiter spec)(rate-limiter opts spec)
Takes a spec of form
+  [           [<n-max-reqs> <msecs-window>] ...] or
+  {<limit-id> [<n-max-reqs> <msecs-window>]},
+and returns a basic stateful (fn a-rate-limiter [req-id] [command req-id]).
 
-Call fn with a single request id (e.g. username) by which to count/limit.
+Call the limiter fn with a request id (e.g. username) by which to count/limit.
 Will return:
-  - nil when all limits pass for that id, or
+  - nil when allowed (all limits pass for given req-id), or
   - [<worst-limit-id> <worst-backoff-msecs> {<limit-id> <backoff-msecs>}]
-    when any limits fail for that id.
+    when denied (any limits fail for given req-id).
 
-Or call fn with an additional command argument:
+Or call the limiter fn with an additional command argument:
   `:rl/peek`  <req-id> - Check limits w/o incrementing count.
   `:rl/reset` <req-id> - Reset all limits for given req-id.
 
@@ -643,16 +640,16 @@ still registered.

set-id-filter!

clj

cljs

(set-id-filter! id-filter)
Sets signal call id filter based on given `id-filter` spec.
 `id-filter` may be:
 
-  - A regex pattern of id/s to allow.
   - A str/kw/sym, 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> :deny <spec>} with specs as above.
     If present, `:allow` spec MUST     match, AND
     If present, `:deny`  spec MUST NOT match.

set-kind-filter!

clj

cljs

(set-kind-filter! kind-filter)
Sets signal call kind filter based on given `kind-filter` spec.
 `kind-filter` may be:
 
-  - A regex pattern of kind/s to allow.
   - A str/kw/sym, 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> :deny <spec>} with specs as above.
     If present, `:allow` spec MUST     match, AND
@@ -660,24 +657,36 @@ still registered.

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 call level based on given `min-level` spec.
 `min-level` may be:
 
-  - An integer.
+  - `nil` (=> no minimum level).
   - A level keyword (see `level-aliases` var for details).
+  - An integer.
 
 If `ns-filter` is provided, then the given minimum level
-will apply only for namespaces that match `ns-filter`.
+will apply only for the namespace/s 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.

set-ns-filter!

clj

cljs

(set-ns-filter! ns-filter)
Sets signal call namespace filter based on given `ns-filter` spec.
+will apply only for that signal kind.
+
+Examples:
+
+  (set-min-level! nil)   ; Disable        minimum level
+  (set-min-level! :info) ; Set `:info` as minimum level
+  (set-min-level! 100)   ; Set 100     as minimum level
+
+  ;; Set `:debug` as minimum level for current namespace
+  ;; (nil `kind` => apply to all kinds)
+  (set-min-level! nil *ns* :debug)

set-ns-filter!

clj

cljs

(set-ns-filter! ns-filter)
Sets signal call namespace filter based on given `ns-filter` spec.
 `ns-filter` may be:
 
-  - A regex pattern of namespace/s to allow.
+  - A namespace.
   - A str/kw/sym, 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> :deny <spec>} with specs as above.
     If present, `:allow` spec MUST     match, AND
     If present, `:deny`  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!`.

shut-down-handlers!

clj

cljs

(shut-down-handlers!)(shut-down-handlers! timeout-msecs__9338__auto__)
Shuts down all registered signal handlers and returns
+the new value. Cross-platform. See also `update-var-root!`.

shut-down-handlers!

clj

cljs

(shut-down-handlers!)(shut-down-handlers! timeout-msecs__3686__auto__)
Shuts down all registered signal handlers in parallel, and returns
 ?{<handler-id> {:keys [okay error]}}.
 
 Future calls to handlers will no-op.
@@ -735,7 +744,7 @@ Tips:
   - Test using `with-signal`: (with-signal (spy! ...)).
   - Supports the same options [2] as other signals [1].
 
-  - Identical to `trace!`, but emphasizing form + level rather than form + id.
+  - Identical to `trace!`, but emphasizes form + level rather than form + id.
 
   - Useful for debugging/monitoring forms, and tracing (nested) execution flow.
   - Execution of `form` arg may create additional (nested) signals.
@@ -761,12 +770,7 @@ and       setting `System/err` won't necessarily affect Clojure's `*err*`.
 See also:
   `with-out->telemere`,
   `with-err->telemere`,
-  `with-streams->telemere`.

tools-logging->telemere!

clj

(tools-logging->telemere!)
Configures `clojure.tools.logging` to use Telemere as its logging implementation.
-
-Called automatically if the following is true:
-  (get-env {:as :bool} :clojure.tools.logging->telemere?)
-
-See `get-env` for details.

trace!

macro

clj

cljs

(trace! form)(trace! id form)(trace! {:as opts, :keys [elidable? location inst uid middleware sample-rate kind ns id level when rate-limit ctx parent trace? do let data msg error run & kvs]} form)
"Trace" signal creator, emphasizing form + id.
+  `with-streams->telemere`.

trace!

macro

clj

cljs

(trace! form)(trace! id form)(trace! {:as opts, :keys [elidable? location inst uid middleware sample-rate kind ns id level when rate-limit ctx parent trace? do let data msg error run & kvs]} form)
"Trace" signal creator, emphasizing form + id.
 
 API: [form] [id-or-opts form] => form's result (value/throw) (unconditional)
 Default  kind: `:trace`
@@ -793,7 +797,7 @@ Tips:
   - Test using `with-signal`: (with-signal (trace! ...)).
   - Supports the same options [2] as other signals [1].
 
-  - Identical to `spy!`, but emphasizing form + id rather than form + level.
+  - Identical to `spy!`, but emphasizes form + id rather than form + level.
 
   - Useful for debugging/monitoring forms, and tracing (nested) execution flow.
   - Execution of `form` arg may create additional (nested) signals.
diff --git a/taoensso.telemere.open-telemetry.html b/taoensso.telemere.open-telemetry.html
new file mode 100644
index 0000000..716588e
--- /dev/null
+++ b/taoensso.telemere.open-telemetry.html
@@ -0,0 +1,14 @@
+
+taoensso.telemere.open-telemetry documentation

taoensso.telemere.open-telemetry

Core OpenTelemetry handler and utils.
+
+Needs `OpenTelemetry Java`,
+  Ref. <https://github.com/open-telemetry/opentelemetry-java>.

get-default-logger-provider

clj

(get-default-logger-provider)
Experimental, subject to change!! Feedback very welcome!
+Returns `io.opentelemetry.api.logs.LoggerProvider` via:
+  `AutoConfiguredOpenTelemetrySdk` when possible, or
+  `GlobalOpenTelemetry` otherwise.

handler:open-telemetry-logger

clj

(handler:open-telemetry-logger)(handler:open-telemetry-logger {:keys [logger-provider attrs-key], :or {logger-provider (get-default-logger-provider), attrs-key :open-telemetry-attrs}})
Experimental, subject to change!! Feedback very welcome!
+
+Returns a (fn handler [signal]) that:
+  - Takes a Telemere signal.
+  - Emits signal content to the `io.opentelemetry.api.logs.Logger`
+    returned by given `io.opentelemetry.api.logs.LoggerProvider`.

IAttr+

protocol

clj

\ No newline at end of file diff --git a/taoensso.telemere.streams.html b/taoensso.telemere.streams.html new file mode 100644 index 0000000..a620364 --- /dev/null +++ b/taoensso.telemere.streams.html @@ -0,0 +1,22 @@ + +taoensso.telemere.streams documentation

taoensso.telemere.streams

Intake support for standard stream/s -> Telemere.
+

check-err-intake

clj

(check-err-intake)
Returns {:keys [sending->telemere? telemere-receiving?]}.
+

check-out-intake

clj

(check-out-intake)
Returns {:keys [sending->telemere? telemere-receiving?]}.
+

streams->reset!

clj

(streams->reset!)
Experimental, subject to change without notice!
+Resets `System/out` and `System/err` to their original value (prior to any
+`streams->telemere!` call).

streams->telemere!

clj

(streams->telemere!)(streams->telemere! {:keys [out err], :or {out default-out-opts, err default-err-opts}})
Experimental, subject to change without notice!
+
+When given `out`, sets JVM's `System/out` to flush to Telemere signals with those opts.
+When given `err`, sets JVM's `System/err` to flush to Telemere signals with those opts.
+
+Note that setting `System/out` won't necessarily affect Clojure's `*out*`,
+and       setting `System/err` won't necessarily affect Clojure's `*err*`.
+
+See also:
+  `with-out->telemere`,
+  `with-err->telemere`,
+  `with-streams->telemere`.

with-err->telemere

macro

clj

(with-err->telemere form)(with-err->telemere opts form)
Executes form with `*err*` bound to flush to Telemere signals with given opts.
+

with-out->telemere

macro

clj

(with-out->telemere form)(with-out->telemere opts form)
Executes form with `*out*` bound to flush to Telemere signals with given opts.
+

with-streams->telemere

macro

clj

(with-streams->telemere form)(with-streams->telemere {:keys [out err], :or {out default-out-opts, err default-err-opts}} form)
Executes form with `*out*` and/or `*err*` bound to flush to Telemere signals
+with given opts.
\ No newline at end of file diff --git a/taoensso.telemere.timbre.cljs.html b/taoensso.telemere.timbre.cljs.html index 723c5f0..c97a896 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

taoensso.telemere.timbre

Main Timbre macros, reimplemented on top of Telemere.
 Intended to help ease migration from Timbre to Telemere.

set-min-level!

clj

cljs

(set-min-level! min-level)
Prefer `telemere/set-min-level!`.
 

shutdown-appenders!

clj

cljs

(shutdown-appenders!)
Prefer `telemere/shut-down-handlers!`.
 
\ No newline at end of file diff --git a/taoensso.telemere.timbre.html b/taoensso.telemere.timbre.html index 90dfd0a..f638cd8 100644 --- a/taoensso.telemere.timbre.html +++ b/taoensso.telemere.timbre.html @@ -1,6 +1,6 @@ -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
new file mode 100644
index 0000000..6b17dce
--- /dev/null
+++ b/taoensso.telemere.tools-logging.html
@@ -0,0 +1,11 @@
+
+taoensso.telemere.tools-logging documentation

taoensso.telemere.tools-logging

Intake support for `clojure.tools.logging` -> Telemere.
+Telemere will attempt to load this ns automatically when possible.

check-intake

clj

(check-intake)
Returns {:keys [present? sending->telemere? telemere-receiving?]}.
+

tools-logging->telemere!

clj

(tools-logging->telemere!)
Configures `clojure.tools.logging` to use Telemere as its logging implementation.
+
+Called automatically if the following is true:
+  (get-env {:as :bool} :clojure.tools.logging/to-telemere)
+
+See `get-env` for details.

tools-logging->telemere?

clj

(tools-logging->telemere?)
Returns true iff `clojure.tools.logging` is configured to use Telemere
+as its logging implementation.
\ No newline at end of file diff --git a/taoensso.telemere.utils.cljs.html b/taoensso.telemere.utils.cljs.html index 55c3f0c..1f00fc1 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-in-signal->maps

clj

cljs

(error-in-signal->maps signal)
Experimental, subject to change.
 Returns given signal with possible `:error` replaced by
 [{:keys [type msg data]} ...] cause chain.
diff --git a/taoensso.telemere.utils.html b/taoensso.telemere.utils.html
index 7a080fe..6ca2377 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-in-signal->maps

clj

cljs

(error-in-signal->maps signal)
Experimental, subject to change.
 Returns given signal with possible `:error` replaced by
 [{:keys [type msg data]} ...] cause chain.