telemere/taoensso.telemere.utils.html

65 lines
14 KiB
HTML
Raw Normal View History

2024-03-28 15:32:21 +00:00
<!DOCTYPE html PUBLIC ""
"">
2024-04-23 15:51:15 +00:00
<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 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"><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 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-file-writer"><div class="inner"><span>file-writer</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.t
2024-03-28 15:32:21 +00:00
</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`
2024-04-05 16:27:05 +00:00
that indicates that it's an error.</pre></div></div><div class="public anchor" id="var-file-writer"><h3>file-writer</h3><h4 class="lang current">clj</h4><div class="usage"><code>(file-writer file append?)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change!!
Opens the specified file and returns a stateful fn of 2 arities:
[content] =&gt; Writes given content to file, or no-ops if closed.
[] =&gt; Closes the writer.
Thread safe. Automatically creates file and parent dirs as necessary.
Writers MUST ALWAYS be manually closed after use!
Useful for handlers that write to files, etc.</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.
2024-03-28 15:32:21 +00:00
Returns a (fn format [error]) that:
- Takes a platform error (`Throwable` or `js/Error`).
2024-04-10 16:41:24 +00:00
- 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-04-08)</h4><div class="usage"><code>(format-inst-fn)</code><code>(format-inst-fn {:keys [formatter zone], :or {formatter java.time.format.DateTimeFormatter/ISO_INSTANT, zone java.time.ZoneOffset/UTC}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change without notice.
2024-04-05 16:27:05 +00:00
2024-03-28 15:32:21 +00:00
Returns a (fn format [instant]) that:
- Takes a platform instant (`java.time.Instant` or `js/Date`).
- Returns a formatted human-readable string.
2024-04-05 16:27:05 +00:00
Options:
2024-04-10 16:41:24 +00:00
`:zone` (Clj only) `java.time.ZoneOffset` (defaults to UTC).
2024-04-05 16:27:05 +00:00
`:formatter`
`java.time.format.DateTimeFormatter` (Clj) or
`goog.i18n.DateTimeFormat` (Cljs),
2024-03-28 15:32:21 +00:00
2024-04-05 16:27:05 +00:00
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.
2024-03-28 15:32:21 +00:00
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.
2024-04-05 16:27:05 +00:00
- 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 {prep-fn (comp error-in-signal-&gt;maps minify-signal)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
2024-03-28 15:32:21 +00:00
Returns a (fn format-&gt;json [signal]) that:
- Takes a Telemere signal.
2024-04-05 16:27:05 +00:00
- 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 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.
2024-03-28 15:32:21 +00:00
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
2024-04-12 16:01:09 +00:00
- Keys with redundant values (`:kvs`, `:location`, `:file`).
2024-03-28 15:32:21 +00:00
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`.
2024-04-05 16:27:05 +00:00
</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.
2024-03-28 15:32:21 +00:00
</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>