v1.0.0-alpha2 (2024-03-28)

This commit is contained in:
Peter Taoussanis 2024-03-28 16:32:21 +01:00
parent 387eca712b
commit 7901b4667b
11 changed files with 722 additions and 77 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-alpha1</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-alpha1</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-alpha1</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-alpha1"]</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-alpha2</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-alpha2</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-alpha2</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-alpha2"]</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

View file

@ -0,0 +1,23 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.handlers 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-alpha2</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.handlers.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>handlers</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre-shim.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre-shim</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.handlers.cljs.html#var-console-handler-fn"><div class="inner"><span>console-handler-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.handlers.cljs.html#var-raw-console-handler-fn"><div class="inner"><span>raw-console-handler-fn</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.handlers</h1><div class="doc"><pre class="plaintext">Built-in Telemere handlers.
</pre></div><div class="public anchor" id="var-console-handler-fn"><h3>console-handler-fn</h3><h4 class="lang"><a href="taoensso.telemere.handlers.html#var-console-handler-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(console-handler-fn)</code><code>(console-handler-fn {:keys [format-signal-fn], :or {format-signal-fn (utils/format-signal-&gt;str-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
If `js/console` exists, returns a (fn handler [signal]) that:
- Takes a Telemere signal.
- Writes a formatted signal string to JavaScript console.
Common formatting alternatives:
(utils/format-signal-str-&gt;fn) ; For human-readable string output (default)
(utils/format-signal-&gt;edn-fn) ; For edn output
(utils/format-signal-&gt;json-fn) ; For JSON output
etc.
See each format builder for options, etc.</pre></div></div><div class="public anchor" id="var-raw-console-handler-fn"><h3>raw-console-handler-fn</h3><h4 class="lang current">cljs</h4><div class="usage"><code>(raw-console-handler-fn)</code><code>(raw-console-handler-fn {:keys [format-signal-prelude-fn format-nsecs-fn], :as opts, :or {format-signal-prelude-fn (utils/format-signal-prelude-fn), format-nsecs-fn (utils/format-nsecs-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
If `js/console` exists, returns a (fn handler [signal]) that:
- Takes a Telemere signal.
- Writes raw signal data to JavaScript console.
Intended for use with browser formatting tools like `binaryage/devtools`,
Ref. &lt;<a href="https://github.com/binaryage/cljs-devtools">https://github.com/binaryage/cljs-devtools</a>&gt;.</pre></div></div></div></body></html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.handlers 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-alpha2</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.handlers.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>handlers</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre-shim.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre-shim</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.handlers.html#var-console-handler-fn"><div class="inner"><span>console-handler-fn</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.handlers</h1><div class="doc"><pre class="plaintext">Built-in Telemere handlers.
</pre></div><div class="public anchor" id="var-console-handler-fn"><h3>console-handler-fn</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.handlers.cljs.html#var-console-handler-fn">cljs</a></h4><div class="usage"><code>(console-handler-fn)</code><code>(console-handler-fn {:keys [format-signal-fn stream], :or {format-signal-fn (utils/format-signal-&gt;str-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn handler [signal]) that:
- Takes a Telemere signal.
- Writes a formatted signal string to stream.
Stream (`java.io.Writer`):
Defaults to `*err*` if `utils/error-signal?` is true, and `*out*` otherwise.
Common formatting alternatives:
(utils/format-signal-str-&gt;fn) ; For human-readable string output (default)
(utils/format-signal-&gt;edn-fn) ; For edn output
(utils/format-signal-&gt;json-fn) ; For JSON output
etc.
See each format builder for options, etc.</pre></div></div></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.timbre-shim 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-alpha2</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.handlers.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>handlers</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.timbre-shim.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre-shim</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></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.timbre-shim</h1><div class="doc"><pre class="plaintext">Utils to help ease migration from Timbre to Telemere.
</pre></div></div></body></html>

View file

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.timbre-shim 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-alpha2</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.handlers.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>handlers</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.timbre-shim.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre-shim</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></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.timbre-shim</h1><div class="doc"><pre class="plaintext">Utils to help ease migration from Timbre to Telemere.
</pre></div></div></body></html>

View file

@ -0,0 +1,52 @@
<!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-alpha2</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.handlers.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>handlers</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre-shim.cljs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre-shim</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.
</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.
Useful when serializing signals to edn/JSON/etc.</pre></div></div><div class="public anchor" id="var-error-signal.3F"><h3>error-signal?</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-error-signal.3F">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(error-signal? signal)</code></div><div class="doc"><pre class="plaintext">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.</pre></div></div><div class="public anchor" id="var-format-error-fn"><h3>format-error-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-error-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(format-error-fn)</code><code>(format-error-fn {:as _opts})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format [error]) that:
- Takes a platform error (`Throwable` or `js/Error`).
- Returns a formatted human-readable string</pre></div></div><div class="public anchor" id="var-format-inst-fn"><h3>format-inst-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-inst-fn">clj</a></h4><h4 class="lang current">cljs</h4><h4 class="added">added in Encore v3.98.0 (2024-03-28)</h4><div class="usage"><code>(format-inst-fn)</code><code>(format-inst-fn {:keys [formatter]})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format [instant]) that:
- Takes a platform instant (`java.time.Instant` or `js/Date`).
- Returns a formatted human-readable string.
`:formatter` may be a `java.time.format.DateTimeFormatter` (Clj) or
`goog.i18n.DateTimeFormat` (Cljs).
Defaults to `ISO8601` formatter (`YYYY-MM-DDTHH:mm:ss.sssZ`),
e.g.: "2011-12-03T10:15:130Z".</pre></div></div><div class="public anchor" id="var-format-nsecs-fn"><h3>format-nsecs-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-nsecs-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(format-nsecs-fn)</code><code>(format-nsecs-fn {:as _opts})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format [nanosecs]) that:
- Takes a long nanoseconds (e.g. runtime).
- Returns a formatted human-readable string like:
"1.00m", "4.20s", "340ms", "822μs", etc.</pre></div></div><div class="public anchor" id="var-format-signal-.3Eedn-fn"><h3>format-signal-&gt;edn-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-signal-.3Eedn-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(format-signal-&gt;edn-fn)</code><code>(format-signal-&gt;edn-fn {:keys [pr-edn-fn prep-fn], :or {pr-edn-fn pr-edn, prep-fn (comp error-in-signal-&gt;maps minify-signal)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format-&gt;edn [signal]) that:
- Takes a Telemere signal.
- Returns edn string of the (minified) signal.</pre></div></div><div class="public anchor" id="var-format-signal-.3Ejson-fn"><h3>format-signal-&gt;json-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-signal-.3Ejson-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(format-signal-&gt;json-fn)</code><code>(format-signal-&gt;json-fn {:keys [pr-json-fn prep-fn], :or {pr-json-fn pr-json, prep-fn (comp error-in-signal-&gt;maps minify-signal)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format-&gt;json [signal]) that:
- Takes a Telemere signal.
- Returns JSON string of the (minified) signal.</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.
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:
`:trace` -&gt; `js/console.trace`,
`:error` -&gt; `js/console.error`, etc.
Defaults to `js.console.log` for unmatched signal levels.
NB: assumes that `js/console` exists, handler builders should check first!</pre></div></div><div class="public anchor" id="var-minify-signal"><h3>minify-signal</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-minify-signal">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(minify-signal signal)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns minimal signal map, removing:
- Keys with nil values, and
- Keys with redundant values (`:extra-kvs`, `:location`, `:file`).
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"><a href="taoensso.telemere.utils.html#var-pr-json">clj</a></h4><h4 class="lang current">cljs</h4><h4 class="added">added in Encore v3.98.0 (2024-03-28)</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></body></html>

View file

@ -0,0 +1,58 @@
<!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-alpha2</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.handlers.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>handlers</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.timbre-shim.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>timbre-shim</span></div></a></li><li class="depth-3 current"><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.utils.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.html#var-error-signal.3F"><div class="inner"><span>error-signal?</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.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.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.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.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.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.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.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.html#var-host-ip"><div class="inner"><span>host-ip</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.html#var-hostname"><div class="inner"><span>hostname</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.html#var-minify-signal"><div class="inner"><span>minify-signal</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.html#var-newline"><div class="inner"><span>newline</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.html#var-pr-edn"><div class="inner"><span>pr-edn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.html#var-pr-json"><div class="inner"><span>pr-json</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.html#var-thread-id"><div class="inner"><span>thread-id</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.html#var-thread-name"><div class="inner"><span>thread-name</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 current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-error-in-signal-.3Emaps">cljs</a></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.
Useful when serializing signals to edn/JSON/etc.</pre></div></div><div class="public anchor" id="var-error-signal.3F"><h3>error-signal?</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-error-signal.3F">cljs</a></h4><div class="usage"><code>(error-signal? signal)</code></div><div class="doc"><pre class="plaintext">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.</pre></div></div><div class="public anchor" id="var-format-error-fn"><h3>format-error-fn</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-format-error-fn">cljs</a></h4><div class="usage"><code>(format-error-fn)</code><code>(format-error-fn {:as _opts})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format [error]) that:
- Takes a platform error (`Throwable` or `js/Error`).
- Returns a formatted human-readable string</pre></div></div><div class="public anchor" id="var-format-inst-fn"><h3>format-inst-fn</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-format-inst-fn">cljs</a></h4><h4 class="added">added in Encore v3.98.0 (2024-03-28)</h4><div class="usage"><code>(format-inst-fn)</code><code>(format-inst-fn {:keys [formatter], :or {formatter java.time.format.DateTimeFormatter/ISO_INSTANT}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format [instant]) that:
- Takes a platform instant (`java.time.Instant` or `js/Date`).
- Returns a formatted human-readable string.
`:formatter` may be a `java.time.format.DateTimeFormatter` (Clj) or
`goog.i18n.DateTimeFormat` (Cljs).
Defaults to `ISO8601` formatter (`YYYY-MM-DDTHH:mm:ss.sssZ`),
e.g.: "2011-12-03T10:15:130Z".</pre></div></div><div class="public anchor" id="var-format-nsecs-fn"><h3>format-nsecs-fn</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-format-nsecs-fn">cljs</a></h4><div class="usage"><code>(format-nsecs-fn)</code><code>(format-nsecs-fn {:as _opts})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format [nanosecs]) that:
- Takes a long nanoseconds (e.g. runtime).
- Returns a formatted human-readable string like:
"1.00m", "4.20s", "340ms", "822μs", etc.</pre></div></div><div class="public anchor" id="var-format-signal-.3Eedn-fn"><h3>format-signal-&gt;edn-fn</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Eedn-fn">cljs</a></h4><div class="usage"><code>(format-signal-&gt;edn-fn)</code><code>(format-signal-&gt;edn-fn {:keys [pr-edn-fn prep-fn], :or {pr-edn-fn pr-edn, prep-fn (comp error-in-signal-&gt;maps minify-signal)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format-&gt;edn [signal]) that:
- Takes a Telemere signal.
- Returns edn string of the (minified) signal.</pre></div></div><div class="public anchor" id="var-format-signal-.3Ejson-fn"><h3>format-signal-&gt;json-fn</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Ejson-fn">cljs</a></h4><div class="usage"><code>(format-signal-&gt;json-fn)</code><code>(format-signal-&gt;json-fn {:keys [pr-json-fn prep-fn], :or {pr-json-fn pr-json, prep-fn (comp error-in-signal-&gt;maps minify-signal)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns a (fn format-&gt;json [signal]) that:
- Takes a Telemere signal.
- Returns JSON string of the (minified) signal.</pre></div></div><div class="public anchor" id="var-format-signal-.3Estr-fn"><h3>format-signal-&gt;str-fn</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-.3Estr-fn">cljs</a></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 current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-format-signal-prelude-fn">cljs</a></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.
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-host-ip"><h3>host-ip</h3><h4 class="lang current">clj</h4><div class="usage"><code>(host-ip timeout-msecs timeout-val)</code><code>(host-ip)</code></div><div class="doc"><pre class="plaintext">Returns cached local host IP address string, or `timeout-val` (default "UnknownHost").
</pre></div></div><div class="public anchor" id="var-hostname"><h3>hostname</h3><h4 class="lang current">clj</h4><div class="usage"><code>(hostname timeout-msecs timeout-val)</code><code>(hostname)</code></div><div class="doc"><pre class="plaintext">Returns cached local hostname string, or `timeout-val` (default "UnknownHost").
</pre></div></div><div class="public anchor" id="var-minify-signal"><h3>minify-signal</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-minify-signal">cljs</a></h4><div class="usage"><code>(minify-signal signal)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
Returns minimal signal map, removing:
- Keys with nil values, and
- Keys with redundant values (`:extra-kvs`, `:location`, `:file`).
Useful when serializing signals to edn/JSON/etc.</pre></div></div><div class="public anchor" id="var-newline"><h3>newline</h3><h4 class="lang current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-newline">cljs</a></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 current">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-pr-edn">cljs</a></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">clj</h4><h4 class="lang"><a href="taoensso.telemere.utils.cljs.html#var-pr-json">cljs</a></h4><h4 class="added">added in Encore v3.98.0 (2024-03-28)</h4><div class="usage"><code>(pr-json x)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change without notice.
Returns given Clj argument as JSON string.
Uses the first of the following, or throws if none available:
1. `metosin/jsonista`, Ref. &lt;<a href="https://github.com/metosin/jsonista">https://github.com/metosin/jsonista</a>&gt;
2. `cheshire`, Ref. &lt;<a href="https://github.com/dakrone/cheshire">https://github.com/dakrone/cheshire</a>&gt;
3. `org.clojure/clojure.data`, Ref. &lt;<a href="https://github.com/clojure/data.json">https://github.com/clojure/data.json</a>&gt;
In all cases attempts to provide sane + reasonably consistent behaviour, but
prefer directly using a lib with opts of your choice when you have specific needs!</pre></div></div><div class="public anchor" id="var-thread-id"><h3>thread-id</h3><h4 class="lang current">clj</h4><div class="usage"><code>(thread-id)</code></div><div class="doc"><pre class="plaintext">Returns long id of current thread.
</pre></div></div><div class="public anchor" id="var-thread-name"><h3>thread-name</h3><h4 class="lang current">clj</h4><div class="usage"><code>(thread-name)</code></div><div class="doc"><pre class="plaintext">Returns string name of current thread.
</pre></div></div></div></body></html>