v1.0.0-beta4 (2024-04-29)

This commit is contained in:
Peter Taoussanis 2024-04-29 09:21:13 +02:00
parent 37058e7f6b
commit d564c3db93
13 changed files with 264 additions and 149 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,3 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>Telemere 1.0.0-beta3</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta3</span></span></a></h1><div id="langs"><div class="lang"><a href="index.clj.html">clj</a></div><div class="lang"><a href="index.cljs.html">cljs</a></div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Platforms</span></h3><ul class="index-link"><li class="depth-1"><a href="index.clj.html"><div class="inner">Clojure</div></a></li><li class="depth-1"><a href="index.cljs.html"><div class="inner">ClojureScript</div></a></li></ul></div><div class="namespace-index" id="content"><h1><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta3</span></span></h1><h5 class="license">Released under the <a href="https://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a></h5><div class="doc"><p>Structured telemetry library for Clojure/Script.</p></div><h2>Installation</h2><p>To install, add the following dependency to your project or build file:</p><pre class="deps">[com.taoensso/telemere "1.0.0-beta3"]</pre><h2>Platforms</h2><p>This project includes code for multiple platforms, please <strong>choose a platform</strong> to view its documentation:</p><ul><li><a href="index.clj.html">Clojure</a></li><li><a href="index.cljs.html">ClojureScript</a></li></ul></div></body></html>
<html><head><meta charset="UTF-8" /><title>Telemere 1.0.0-beta4</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta4</span></span></a></h1><div id="langs"><div class="lang"><a href="index.clj.html">clj</a></div><div class="lang"><a href="index.cljs.html">cljs</a></div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Platforms</span></h3><ul class="index-link"><li class="depth-1"><a href="index.clj.html"><div class="inner">Clojure</div></a></li><li class="depth-1"><a href="index.cljs.html"><div class="inner">ClojureScript</div></a></li></ul></div><div class="namespace-index" id="content"><h1><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta4</span></span></h1><h5 class="license">Released under the <a href="https://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a></h5><div class="doc"><p>Structured telemetry library for Clojure/Script.</p></div><h2>Installation</h2><p>To install, add the following dependency to your project or build file:</p><pre class="deps">[com.taoensso/telemere "1.0.0-beta4"]</pre><h2>Platforms</h2><p>This project includes code for multiple platforms, please <strong>choose a platform</strong> to view its documentation:</p><ul><li><a href="index.clj.html">Clojure</a></li><li><a href="index.cljs.html">ClojureScript</a></li></ul></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,14 +1,23 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.open-telemetry documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta3</span></span></a></h1><div id="langs"><div class="lang current">clj</div><div class="lang"><a href="index.cljs.html">cljs</a></div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.open-telemetry.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>open-telemetry</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.streams.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>streams</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.tools-logging.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tools-logging</span></div></a></li><li class="depth-3"><a href="taoensso.telemere.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.open-telemetry.html#var-get-default-logger-provider"><div class="inner"><span>get-default-logger-provider</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.open-telemetry.html#var-handler.3Aopen-telemetry-logger"><div class="inner"><span>handler:open-telemetry-logger</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.open-telemetry.html#var-IAttr.2B"><div class="inner"><span>IAttr+</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.open-telemetry</h1><div class="doc"><pre class="plaintext">Core OpenTelemetry handler and utils.
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.open-telemetry documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta4</span></span></a></h1><div id="langs"><div class="lang current">clj</div><div class="lang"><a href="index.cljs.html">cljs</a></div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.open-telemetry.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>open-telemetry</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.postal.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>postal</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.streams.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>streams</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.tools-logging.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tools-logging</span></div></a></li><li class="depth-3"><a href="taoensso.telemere.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.open-telemetry.html#var-default-logger-provider"><div class="inner"><span>default-logger-provider</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.open-telemetry.html#var-handler.3Aopen-telemetry-logger"><div class="inner"><span>handler:open-telemetry-logger</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.open-telemetry.html#var-IAttr.2B"><div class="inner"><span>IAttr+</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.open-telemetry</h1><div class="doc"><pre class="plaintext">OpenTelemetry handler using `opentelemetry-java`,
Ref. &lt;<a href="https://github.com/open-telemetry/opentelemetry-java">https://github.com/open-telemetry/opentelemetry-java</a>&gt;.</pre></div><div class="public anchor" id="var-default-logger-provider"><h3>default-logger-provider</h3><h4 class="lang current">clj</h4><div class="usage"><code>(default-logger-provider)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change. Feedback welcome!
Needs `OpenTelemetry Java`,
Ref. &lt;<a href="https://github.com/open-telemetry/opentelemetry-java">https://github.com/open-telemetry/opentelemetry-java</a>&gt;.</pre></div><div class="public anchor" id="var-get-default-logger-provider"><h3>get-default-logger-provider</h3><h4 class="lang current">clj</h4><div class="usage"><code>(get-default-logger-provider)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change!! Feedback very welcome!
Returns `io.opentelemetry.api.logs.LoggerProvider` via:
`AutoConfiguredOpenTelemetrySdk` when possible, or
`GlobalOpenTelemetry` otherwise.</pre></div></div><div class="public anchor" id="var-handler.3Aopen-telemetry-logger"><h3>handler:open-telemetry-logger</h3><h4 class="lang current">clj</h4><div class="usage"><code>(handler:open-telemetry-logger)</code><code>(handler:open-telemetry-logger {:keys [logger-provider attrs-key], :or {logger-provider (get-default-logger-provider), attrs-key :open-telemetry-attrs}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change!! Feedback very welcome!
`GlobalOpenTelemetry` otherwise.
See the relevant `opentelemetry-java` docs for details.</pre></div></div><div class="public anchor" id="var-handler.3Aopen-telemetry-logger"><h3>handler:open-telemetry-logger</h3><h4 class="lang current">clj</h4><div class="usage"><code>(handler:open-telemetry-logger)</code><code>(handler:open-telemetry-logger {:keys [logger-provider attrs-signal-key], :or {logger-provider (default-logger-provider), attrs-signal-key :open-telemetry/attrs}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change. Feedback welcome!
Needs `opentelemetry-java`,
Ref. &lt;<a href="https://github.com/open-telemetry/opentelemetry-java">https://github.com/open-telemetry/opentelemetry-java</a>&gt;.
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`.</pre></div></div><div class="public anchor" id="var-IAttr.2B"><h3>IAttr+</h3><h4 class="type">protocol</h4><h4 class="lang current">clj</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div></div></div></body></html>
returned by given `io.opentelemetry.api.logs.LoggerProvider`.
Options:
`:logger-provider` - `io.opentelemetry.api.logs.LoggerProvider`
Defaults to the LoggerProvider returned by (default-logger-provider),
see that docstring for details.</pre></div></div><div class="public anchor" id="var-IAttr.2B"><h3>IAttr+</h3><h4 class="type">protocol</h4><h4 class="lang current">clj</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div></div></div></body></html>

View file

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.postal documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta4</span></span></a></h1><div id="langs"><div class="lang current">clj</div><div class="lang"><a href="index.cljs.html">cljs</a></div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.open-telemetry.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>open-telemetry</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.postal.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>postal</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.streams.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>streams</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.tools-logging.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tools-logging</span></div></a></li><li class="depth-3"><a href="taoensso.telemere.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.postal.html#var-a-handler.3Apostal"><div class="inner"><span>a-handler:postal</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.postal.html#var-format-signal-.3Esubject-fn"><div class="inner"><span>format-signal-&gt;subject-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.postal.html#var-handler.3Apostal"><div class="inner"><span>handler:postal</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.postal</h1><div class="doc"><pre class="plaintext">Email handler using `postal`,
Ref. &lt;<a href="https://github.com/drewr/postal">https://github.com/drewr/postal</a>&gt;.</pre></div><div class="public anchor" id="var-a-handler.3Apostal"><h3>a-handler:postal</h3><h4 class="lang current">clj</h4><div class="usage"><code>(a-handler:postal)</code><code>(a-handler:postal signal)</code></div><div class="doc"><pre class="plaintext"></pre></div></div><div class="public anchor" id="var-format-signal-.3Esubject-fn"><h3>format-signal-&gt;subject-fn</h3><h4 class="lang current">clj</h4><div class="usage"><code>(format-signal-&gt;subject-fn)</code><code>(format-signal-&gt;subject-fn {:keys [max-len subject-signal-key], :or {max-len 128, subject-signal-key :postal/subject}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format [signal]) that:
- Takes a Telemere signal.
- Returns a formatted email subject like:
"INFO EVENT :taoensso.telemere.postal/ev-id1 - msg"</pre></div></div><div class="public anchor" id="var-handler.3Apostal"><h3>handler:postal</h3><h4 class="lang current">clj</h4><div class="usage"><code>(handler:postal)</code><code>(handler:postal {:keys [postal/conn-opts postal/msg-opts format-signal-fn format-signal-&gt;subject-fn], :or {format-signal-fn (utils/format-signal-&gt;str-fn), format-signal-&gt;subject-fn (format-signal-&gt;subject-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change. Feedback welcome!
Needs `postal`,
Ref. &lt;<a href="https://github.com/drewr/postal">https://github.com/drewr/postal</a>&gt;.
Returns a (fn handler [signal]) that:
- Takes a Telemere signal.
- Sends an email with formatted signal content to the configured recipient.
Useful for emailing important alerts to admins, etc.
NB can incur financial costs!!
See tips section re: protecting against unexpected costs.
Options:
`:postal/conn-opts` - Map of connection opts provided to `postal`
Examples:
{:host "mail.isp.net", :user "jsmith", :pass "a-secret"},
{:host "smtp.gmail.com", :user "jsmith@gmail.com", :pass "a-secret" :port 587 :tls true},
{:host "email-smtp.us-east-1.amazonaws.com", :port 587, :tls true
:user "AKIAIDTP........" :pass "AikCFhx1P......."}
`:postal/msg-opts` - Map of message options
Examples:
{:from "foo@example.com", :to "bar@example.com"},
{:from "Alice &lt;foo@example.com", :to "Bob &lt;bar@example.com&gt;"},
{:from "no-reply@example.com", :to ["first-responders@example.com",
"devops@example.com"],
:cc "engineering@example.com"
:X-MyHeader "A custom header"}
`:format-signal-fn` - (fn [signal]) =&gt; output, see `help:signal-formatters`
`:format-signal-&gt;subject-fn` - (fn [signal]) =&gt; email subject string
Tips:
- Sending emails can incur financial costs!
Use appropriate dispatch filtering options when calling `add-handler!` to prevent
handler from sending unnecessary emails!
At least ALWAYS set an appropriate `:rate-limit` option, e.g.:
(add-handler! :my-postal-handler (handler:postal {&lt;my-handler-opts})
{:rate-limit {"Max 1 per min" [1 (enc/msecs :mins 1)]
"Max 3 per 15 mins" [3 (enc/msecs :mins 15)]
"Max 5 per hour" [5 (enc/msecs :hours 1)]}, ...}), etc.
- Sending emails is slow!
Use appropriate async dispatch options when calling `add-handler!` to prevent
handler from blocking signal creator calls, e.g.:
(add-handler! :my-postal-handler (handler:postal {&lt;my-handler-opts&gt;})
{:async {:mode :dropping, :buffer-size 128, :n-threads 4} ...}), etc.
- Ref. &lt;<a href="https://github.com/drewr/postal">https://github.com/drewr/postal</a>&gt; for more info on `postal` options.</pre></div></div></div></body></html>

View file

@ -1,11 +1,11 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.streams documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta3</span></span></a></h1><div id="langs"><div class="lang current">clj</div><div class="lang"><a href="index.cljs.html">cljs</a></div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.open-telemetry.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>open-telemetry</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.streams.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>streams</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.tools-logging.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tools-logging</span></div></a></li><li class="depth-3"><a href="taoensso.telemere.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.streams.html#var-check-err-intake"><div class="inner"><span>check-err-intake</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-check-out-intake"><div class="inner"><span>check-out-intake</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-streams-.3Ereset.21"><div class="inner"><span>streams-&gt;reset!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-streams-.3Etelemere.21"><div class="inner"><span>streams-&gt;telemere!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-with-err-.3Etelemere"><div class="inner"><span>with-err-&gt;telemere</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-with-out-.3Etelemere"><div class="inner"><span>with-out-&gt;telemere</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-with-streams-.3Etelemere"><div class="inner"><span>with-streams-&gt;telemere</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.streams</h1><div class="doc"><pre class="plaintext">Intake support for standard stream/s -&gt; Telemere.
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.streams documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta4</span></span></a></h1><div id="langs"><div class="lang current">clj</div><div class="lang"><a href="index.cljs.html">cljs</a></div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.open-telemetry.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>open-telemetry</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.postal.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>postal</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.streams.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>streams</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.tools-logging.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tools-logging</span></div></a></li><li class="depth-3"><a href="taoensso.telemere.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.streams.html#var-check-err-intake"><div class="inner"><span>check-err-intake</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-check-out-intake"><div class="inner"><span>check-out-intake</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-streams-.3Ereset.21"><div class="inner"><span>streams-&gt;reset!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-streams-.3Etelemere.21"><div class="inner"><span>streams-&gt;telemere!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-with-err-.3Etelemere"><div class="inner"><span>with-err-&gt;telemere</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-with-out-.3Etelemere"><div class="inner"><span>with-out-&gt;telemere</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-with-streams-.3Etelemere"><div class="inner"><span>with-streams-&gt;telemere</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.streams</h1><div class="doc"><pre class="plaintext">Intake support for standard stream/s -&gt; Telemere.
</pre></div><div class="public anchor" id="var-check-err-intake"><h3>check-err-intake</h3><h4 class="lang current">clj</h4><div class="usage"><code>(check-err-intake)</code></div><div class="doc"><pre class="plaintext">Returns {:keys [sending-&gt;telemere? telemere-receiving?]}.
</pre></div></div><div class="public anchor" id="var-check-out-intake"><h3>check-out-intake</h3><h4 class="lang current">clj</h4><div class="usage"><code>(check-out-intake)</code></div><div class="doc"><pre class="plaintext">Returns {:keys [sending-&gt;telemere? telemere-receiving?]}.
</pre></div></div><div class="public anchor" id="var-streams-.3Ereset.21"><h3>streams-&gt;reset!</h3><h4 class="lang current">clj</h4><div class="usage"><code>(streams-&gt;reset!)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change without notice!
</pre></div></div><div class="public anchor" id="var-streams-.3Ereset.21"><h3>streams-&gt;reset!</h3><h4 class="lang current">clj</h4><div class="usage"><code>(streams-&gt;reset!)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Resets `System/out` and `System/err` to their original value (prior to any
`streams-&gt;telemere!` call).</pre></div></div><div class="public anchor" id="var-streams-.3Etelemere.21"><h3>streams-&gt;telemere!</h3><h4 class="lang current">clj</h4><div class="usage"><code>(streams-&gt;telemere!)</code><code>(streams-&gt;telemere! {:keys [out err], :or {out default-out-opts, err default-err-opts}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change without notice!
`streams-&gt;telemere!` call).</pre></div></div><div class="public anchor" id="var-streams-.3Etelemere.21"><h3>streams-&gt;telemere!</h3><h4 class="lang current">clj</h4><div class="usage"><code>(streams-&gt;telemere!)</code><code>(streams-&gt;telemere! {:keys [out err], :or {out default-out-opts, err default-err-opts}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
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.

View file

@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.timbre documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta3</span></span></a></h1><div id="langs"><div class="lang"><a href="index.clj.html">clj</a></div><div class="lang current">cljs</div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.timbre.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3"><a href="taoensso.telemere.utils.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.timbre.cljs.html#var-set-min-level.21"><div class="inner"><span>set-min-level!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.timbre.cljs.html#var-shutdown-appenders.21"><div class="inner"><span>shutdown-appenders!</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.timbre</h1><div class="doc"><pre class="plaintext">Main Timbre macros, reimplemented on top of Telemere.
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.timbre documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta4</span></span></a></h1><div id="langs"><div class="lang"><a href="index.clj.html">clj</a></div><div class="lang current">cljs</div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.timbre.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3"><a href="taoensso.telemere.utils.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.timbre.cljs.html#var-set-min-level.21"><div class="inner"><span>set-min-level!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.timbre.cljs.html#var-shutdown-appenders.21"><div class="inner"><span>shutdown-appenders!</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.timbre</h1><div class="doc"><pre class="plaintext">Main Timbre macros, reimplemented on top of Telemere.
Intended to help ease migration from Timbre to Telemere.</pre></div><div class="public anchor" id="var-set-min-level.21"><h3>set-min-level!</h3><h4 class="lang"><a href="taoensso.telemere.timbre.html#var-set-min-level.21">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(set-min-level! min-level)</code></div><div class="doc"><pre class="plaintext">Prefer `telemere/set-min-level!`.
</pre></div></div><div class="public anchor" id="var-shutdown-appenders.21"><h3>shutdown-appenders!</h3><h4 class="lang"><a href="taoensso.telemere.timbre.html#var-shutdown-appenders.21">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(shutdown-appenders!)</code></div><div class="doc"><pre class="plaintext">Prefer `telemere/shut-down-handlers!`.
</pre></div></div></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -1,11 +1,11 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.tools-logging documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta3</span></span></a></h1><div id="langs"><div class="lang current">clj</div><div class="lang"><a href="index.cljs.html">cljs</a></div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.open-telemetry.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>open-telemetry</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.streams.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>streams</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.tools-logging.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tools-logging</span></div></a></li><li class="depth-3"><a href="taoensso.telemere.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.tools-logging.html#var-check-intake"><div class="inner"><span>check-intake</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.tools-logging.html#var-tools-logging-.3Etelemere.21"><div class="inner"><span>tools-logging-&gt;telemere!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.tools-logging.html#var-tools-logging-.3Etelemere.3F"><div class="inner"><span>tools-logging-&gt;telemere?</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.tools-logging</h1><div class="doc"><pre class="plaintext">Intake support for `clojure.tools.logging` -&gt; Telemere.
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.tools-logging documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta4</span></span></a></h1><div id="langs"><div class="lang current">clj</div><div class="lang"><a href="index.cljs.html">cljs</a></div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.open-telemetry.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>open-telemetry</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.postal.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>postal</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.streams.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>streams</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.tools-logging.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tools-logging</span></div></a></li><li class="depth-3"><a href="taoensso.telemere.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.tools-logging.html#var-check-intake"><div class="inner"><span>check-intake</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.tools-logging.html#var-tools-logging-.3Etelemere.21"><div class="inner"><span>tools-logging-&gt;telemere!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.tools-logging.html#var-tools-logging-.3Etelemere.3F"><div class="inner"><span>tools-logging-&gt;telemere?</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.tools-logging</h1><div class="doc"><pre class="plaintext">Intake support for `clojure.tools.logging` -&gt; Telemere.
Telemere will attempt to load this ns automatically when possible.</pre></div><div class="public anchor" id="var-check-intake"><h3>check-intake</h3><h4 class="lang current">clj</h4><div class="usage"><code>(check-intake)</code></div><div class="doc"><pre class="plaintext">Returns {:keys [present? sending-&gt;telemere? telemere-receiving?]}.
</pre></div></div><div class="public anchor" id="var-tools-logging-.3Etelemere.21"><h3>tools-logging-&gt;telemere!</h3><h4 class="lang current">clj</h4><div class="usage"><code>(tools-logging-&gt;telemere!)</code></div><div class="doc"><pre class="plaintext">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.</pre></div></div><div class="public anchor" id="var-tools-logging-.3Etelemere.3F"><h3>tools-logging-&gt;telemere?</h3><h4 class="lang current">clj</h4><div class="usage"><code>(tools-logging-&gt;telemere?)</code></div><div class="doc"><pre class="plaintext">Returns true iff `clojure.tools.logging` is configured to use Telemere
Called automatically if one of the following is "true":
JVM property: `clojure.tools.logging.to-telemere`
Env variable: `CLOJURE_TOOLS_LOGGING_TO_TELEMERE`
Classpath resource: `clojure.tools.logging.to-telemere`</pre></div></div><div class="public anchor" id="var-tools-logging-.3Etelemere.3F"><h3>tools-logging-&gt;telemere?</h3><h4 class="lang current">clj</h4><div class="usage"><code>(tools-logging-&gt;telemere?)</code></div><div class="doc"><pre class="plaintext">Returns true iff `clojure.tools.logging` is configured to use Telemere
as its logging implementation.</pre></div></div></div></body></html>

View file

@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.utils documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta3</span></span></a></h1><div id="langs"><div class="lang"><a href="index.clj.html">clj</a></div><div class="lang current">cljs</div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3 current"><a href="taoensso.telemere.utils.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-error-in-signal-.3Emaps"><div class="inner"><span>error-in-signal-&gt;maps</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-error-signal.3F"><div class="inner"><span>error-signal?</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-error-fn"><div class="inner"><span>format-error-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-inst-fn"><div class="inner"><span>format-inst-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-nsecs-fn"><div class="inner"><span>format-nsecs-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Eedn-fn"><div class="inner"><span>format-signal-&gt;edn-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Ejson-fn"><div class="inner"><span>format-signal-&gt;json-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Estr-fn"><div class="inner"><span>format-signal-&gt;str-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-prelude-fn"><div class="inner"><span>format-signal-prelude-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-js-console-logger"><div class="inner"><span>js-console-logger</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-minify-signal"><div class="inner"><span>minify-signal</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-newline"><div class="inner"><span>newline</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-pr-edn"><div class="inner"><span>pr-edn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-pr-json"><div class="inner"><span>pr-json</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.utils</h1><div class="doc"><pre class="plaintext">Misc utils useful for Telemere handlers, middleware, etc.
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.utils documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Telemere</span> <span class="project-version">1.0.0-beta4</span></span></a></h1><div id="langs"><div class="lang"><a href="index.clj.html">clj</a></div><div class="lang current">cljs</div></div></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2"><a href="taoensso.telemere.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>telemere</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre</span></div></a></li><li class="depth-3 current"><a href="taoensso.telemere.utils.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-error-in-signal-.3Emaps"><div class="inner"><span>error-in-signal-&gt;maps</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-error-signal.3F"><div class="inner"><span>error-signal?</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-error-fn"><div class="inner"><span>format-error-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-inst-fn"><div class="inner"><span>format-inst-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-nsecs-fn"><div class="inner"><span>format-nsecs-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Eedn-fn"><div class="inner"><span>format-signal-&gt;edn-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Ejson-fn"><div class="inner"><span>format-signal-&gt;json-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Eprelude-fn"><div class="inner"><span>format-signal-&gt;prelude-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Estr-fn"><div class="inner"><span>format-signal-&gt;str-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-js-console-logger"><div class="inner"><span>js-console-logger</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-minify-signal"><div class="inner"><span>minify-signal</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-newline"><div class="inner"><span>newline</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-pr-edn"><div class="inner"><span>pr-edn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-pr-json"><div class="inner"><span>pr-json</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-remove-kvs"><div class="inner"><span>remove-kvs</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.utils</h1><div class="doc"><pre class="plaintext">Misc utils useful for Telemere handlers, middleware, etc.
</pre></div><div class="public anchor" id="var-error-in-signal-.3Emaps"><h3>error-in-signal-&gt;maps</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-error-in-signal-.3Emaps">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(error-in-signal-&gt;maps signal)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns given signal with possible `:error` replaced by
[{:keys [type msg data]} ...] cause chain.
@ -35,14 +35,14 @@ Returns a (fn format-&gt;json [signal]) that:
- Takes a Telemere signal.
- Returns JSON string of the (minified) signal.
(Clj only): An appropriate `:pr-json-fn` MUST be provided.</pre></div></div><div class="public anchor" id="var-format-signal-.3Estr-fn"><h3>format-signal-&gt;str-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-signal-.3Estr-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(format-signal-&gt;str-fn)</code><code>(format-signal-&gt;str-fn {:keys [format-signal-prelude-fn format-nsecs-fn format-error-fn], :or {format-signal-prelude-fn (format-signal-prelude-fn), format-nsecs-fn (format-nsecs-fn), format-error-fn (format-error-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format-&gt;str [signal]) that:
- Takes a Telemere signal.
- Returns a formatted string intended for text consoles, etc.</pre></div></div><div class="public anchor" id="var-format-signal-prelude-fn"><h3>format-signal-prelude-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-signal-prelude-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(format-signal-prelude-fn)</code><code>(format-signal-prelude-fn {:keys [format-inst-fn], :or {format-inst-fn (format-inst-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
(Clj only): An appropriate `:pr-json-fn` MUST be provided.</pre></div></div><div class="public anchor" id="var-format-signal-.3Eprelude-fn"><h3>format-signal-&gt;prelude-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-signal-.3Eprelude-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(format-signal-&gt;prelude-fn)</code><code>(format-signal-&gt;prelude-fn {:keys [format-inst-fn], :or {format-inst-fn (format-inst-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format [signal]) that:
- Takes a Telemere signal.
- Returns a formatted prelude string like:
"2024-03-26T11:14:51.806Z INFO EVENT Hostname taoensso.telemere(2,21) ::ev-id - msg"</pre></div></div><div class="public anchor" id="var-js-console-logger"><h3>js-console-logger</h3><h4 class="lang current">cljs</h4><div class="usage"><code>(js-console-logger level)</code></div><div class="doc"><pre class="plaintext">Returns JavaScript console logger to match given signal level:
"2024-03-26T11:14:51.806Z INFO EVENT Hostname taoensso.telemere(2,21) ::ev-id - msg"</pre></div></div><div class="public anchor" id="var-format-signal-.3Estr-fn"><h3>format-signal-&gt;str-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-signal-.3Estr-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(format-signal-&gt;str-fn)</code><code>(format-signal-&gt;str-fn {:keys [format-signal-&gt;prelude-fn format-nsecs-fn format-error-fn], :or {format-signal-&gt;prelude-fn (format-signal-&gt;prelude-fn), format-nsecs-fn (format-nsecs-fn), format-error-fn (format-error-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format-&gt;str [signal]) that:
- Takes a Telemere signal.
- Returns a formatted string intended for text consoles, etc.</pre></div></div><div class="public anchor" id="var-js-console-logger"><h3>js-console-logger</h3><h4 class="lang current">cljs</h4><div class="usage"><code>(js-console-logger level)</code></div><div class="doc"><pre class="plaintext">Returns JavaScript console logger to match given signal level:
`:trace` -&gt; `js/console.trace`,
`:error` -&gt; `js/console.error`, etc.
@ -55,4 +55,5 @@ Returns minimal signal map, removing:
Useful when serializing signals to edn/JSON/etc.</pre></div></div><div class="public anchor" id="var-newline"><h3>newline</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-newline">clj</a></h4><h4 class="lang current">cljs</h4><h4 class="added">added in Encore v3.68.0 (2023-09-25)</h4><div class="usage"></div><div class="doc"><pre class="plaintext">Single system newline
</pre></div></div><div class="public anchor" id="var-pr-edn"><h3>pr-edn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-pr-edn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(pr-edn x)</code></div><div class="doc"><pre class="plaintext">Prints given arg to an edn string readable with `read-edn`.
</pre></div></div><div class="public anchor" id="var-pr-json"><h3>pr-json</h3><h4 class="lang current">cljs</h4><h4 class="added">added in Encore v3.98.0 (2024-04-08)</h4><div class="usage"><code>(pr-json x)</code></div><div class="doc"><pre class="plaintext">Returns given Cljs argument as JSON string.
</pre></div></div><div class="public anchor" id="var-remove-kvs"><h3>remove-kvs</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-remove-kvs">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(remove-kvs signal)</code></div><div class="doc"><pre class="plaintext">Returns the given signal without user-level kvs.
</pre></div></div></div></body></html>

File diff suppressed because one or more lines are too long