mirror of
https://github.com/taoensso/telemere.git
synced 2025-12-24 12:28:25 +00:00
v1.0.0-beta8 (2024-05-06)
This commit is contained in:
parent
43fce2c846
commit
34e1523c96
15 changed files with 223 additions and 146 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html PUBLIC ""
|
||||
"">
|
||||
<html><head><meta charset="UTF-8" /><title>Telemere 1.0.0-beta7</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-beta7</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-beta7</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-beta7"]</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-beta8</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-beta8</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-beta8</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-beta8"]</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
|
|
@ -1,6 +1,6 @@
|
|||
<!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-beta7</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.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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`,
|
||||
<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-beta8</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.slack.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>slack</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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. <<a href="https://github.com/open-telemetry/opentelemetry-java">https://github.com/open-telemetry/opentelemetry-java</a>>.</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!
|
||||
|
||||
Returns `io.opentelemetry.api.logs.LoggerProvider` via:
|
||||
|
|
@ -13,9 +13,9 @@ Needs `opentelemetry-java`,
|
|||
Ref. <<a href="https://github.com/open-telemetry/opentelemetry-java">https://github.com/open-telemetry/opentelemetry-java</a>>.
|
||||
|
||||
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`.
|
||||
- Takes a Telemere signal (map).
|
||||
- Emits the signal to `io.opentelemetry.api.logs.Logger` returned
|
||||
by given `io.opentelemetry.api.logs.LoggerProvider`.
|
||||
|
||||
Options:
|
||||
`:logger-provider` - `io.opentelemetry.api.logs.LoggerProvider`
|
||||
|
|
|
|||
|
|
@ -1,30 +1,34 @@
|
|||
<!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-beta7</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.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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-handler.3Apostal"><div class="inner"><span>handler:postal</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.postal.html#var-signal-subject-fn"><div class="inner"><span>signal-subject-fn</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. <<a href="https://github.com/drewr/postal">https://github.com/drewr/postal</a>>.</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-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 subject-fn body-fn], :or {subject-fn (signal-subject-fn), body-fn (utils/format-signal-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change. Feedback welcome!
|
||||
<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-beta8</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.slack.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>slack</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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-default-dispatch-opts"><div class="inner"><span>default-dispatch-opts</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><li class="depth-1"><a href="taoensso.telemere.postal.html#var-signal-subject-fn"><div class="inner"><span>signal-subject-fn</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. <<a href="https://github.com/drewr/postal">https://github.com/drewr/postal</a>>.</pre></div><div class="public anchor" id="var-default-dispatch-opts"><h3>default-dispatch-opts</h3><h4 class="lang current">clj</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></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 {:keys [conn-opts msg-opts subject-fn body-fn], :or {subject-fn (signal-subject-fn), body-fn (utils/format-signal-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
|
||||
|
||||
Needs `postal`,
|
||||
Ref. <<a href="https://github.com/drewr/postal">https://github.com/drewr/postal</a>>.
|
||||
Needs `postal`, Ref. <<a href="https://github.com/drewr/postal">https://github.com/drewr/postal</a>>.
|
||||
|
||||
Returns a (fn handler [signal]) that:
|
||||
- Takes a Telemere signal.
|
||||
- Sends formatted signal string as email to specified recipient.
|
||||
- Takes a Telemere signal (map).
|
||||
- Sends the signal as an email to specified recipient.
|
||||
|
||||
Useful for emailing important alerts to admins, etc.
|
||||
|
||||
NB can incur financial costs!!
|
||||
See tips section re: protecting against unexpected costs.
|
||||
Default handler dispatch options (override when calling `add-handler!`):
|
||||
`:min-level` - `:info`
|
||||
`:rate-limit` -
|
||||
[[5 (enc/msecs :mins 1)] ; Max 5 emails in 1 min
|
||||
[10 (enc/msecs :mins 15)] ; Max 10 emails in 15 mins
|
||||
[15 (enc/msecs :hours 1)] ; Max 15 emails in 1 hour
|
||||
[30 (enc/msecs :hours 6)] ; Max 30 emails in 6 hours
|
||||
]
|
||||
|
||||
Options:
|
||||
|
||||
`:postal/conn-opts` - Map of connection opts provided to `postal`
|
||||
`:conn-opts` - Map of connection opts given to `postal/send-message`
|
||||
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......."}
|
||||
{:host "email-smtp.us-east-1.amazonaws.com", :port 587, :tls true,
|
||||
:user "AKIAIDTP........", :pass "AikCFhx1P......."}
|
||||
|
||||
`:postal/msg-opts` - Map of message options
|
||||
`:msg-opts` - Map of message opts given to `postal/send-message`
|
||||
Examples:
|
||||
{:from "foo@example.com", :to "bar@example.com"},
|
||||
{:from "Alice <foo@example.com", :to "Bob <bar@example.com>"},
|
||||
|
|
@ -34,28 +38,14 @@ Options:
|
|||
:X-MyHeader "A custom header"}
|
||||
|
||||
`:subject-fn` - (fn [signal]) => email subject string
|
||||
`:body-fn` - (fn [signal]) => email body content string, see `format-signal-fn` or `pr-signal-fn`
|
||||
`:body-fn` - (fn [signal]) => email body content string,
|
||||
see `format-signal-fn` or `pr-signal-fn`
|
||||
|
||||
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 {<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 {<my-handler-opts>})
|
||||
{:async {:mode :dropping, :buffer-size 128, :n-threads 4} ...}), etc.
|
||||
|
||||
- Ref. <<a href="https://github.com/drewr/postal">https://github.com/drewr/postal</a>> for more info on `postal` options.</pre></div></div><div class="public anchor" id="var-signal-subject-fn"><h3>signal-subject-fn</h3><h4 class="lang current">clj</h4><div class="usage"><code>(signal-subject-fn)</code><code>(signal-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.
|
||||
- Ref. <<a href="https://github.com/drewr/postal">https://github.com/drewr/postal</a>> for more info on `postal` options.
|
||||
- Sending emails can be slow, and can incur financial costs!
|
||||
Use appropriate handler dispatch options for async handling and rate limiting, etc.</pre></div></div><div class="public anchor" id="var-signal-subject-fn"><h3>signal-subject-fn</h3><h4 class="lang current">clj</h4><div class="usage"><code>(signal-subject-fn)</code><code>(signal-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:
|
||||
- Takes a Telemere signal (map).
|
||||
- Returns an email subject string like:
|
||||
"INFO EVENT :taoensso.telemere.postal/ev-id1 - msg"</pre></div></div></div></body></html>
|
||||
36
taoensso.telemere.slack.html
Normal file
36
taoensso.telemere.slack.html
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE html PUBLIC ""
|
||||
"">
|
||||
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.slack 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-beta8</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.slack.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>slack</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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.slack.html#var-default-dispatch-opts"><div class="inner"><span>default-dispatch-opts</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.slack.html#var-handler.3Aslack"><div class="inner"><span>handler:slack</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.slack</h1><div class="doc"><pre class="plaintext">Slack handler using `clj-slack`,
|
||||
Ref. <<a href="https://github.com/julienXX/clj-slack">https://github.com/julienXX/clj-slack</a>></pre></div><div class="public anchor" id="var-default-dispatch-opts"><h3>default-dispatch-opts</h3><h4 class="lang current">clj</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div></div><div class="public anchor" id="var-handler.3Aslack"><h3>handler:slack</h3><h4 class="lang current">clj</h4><div class="usage"><code>(handler:slack {:keys [conn-opts post-opts output-fn], :or {conn-opts {:api-url "https://slack.com/api", :token nil}, post-opts {:channel-id nil, :username nil}, output-fn (utils/format-signal-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
|
||||
|
||||
Needs `clj-slack`, Ref. <<a href="https://github.com/julienXX/clj-slack">https://github.com/julienXX/clj-slack</a>>.
|
||||
|
||||
Returns a (fn handler [signal]) that:
|
||||
- Takes a Telemere signal (map).
|
||||
- Writes the signal as a string to specified Slack channel.
|
||||
|
||||
Can output signals as human or machine-readable (edn, JSON) strings.
|
||||
|
||||
Default handler dispatch options (override when calling `add-handler!`):
|
||||
`:min-level` - `:info`
|
||||
`:rate-limit` -
|
||||
[[5 (enc/msecs :mins 1)] ; Max 5 posts in 1 min
|
||||
[10 (enc/msecs :mins 15)] ; Max 10 posts in 15 mins
|
||||
[15 (enc/msecs :hours 1)] ; Max 15 posts in 1 hour
|
||||
[30 (enc/msecs :hours 6)] ; Max 30 posts in 6 hours
|
||||
]
|
||||
|
||||
Options:
|
||||
`:conn-opts` - Map of connection opts given to `clj-slack.chat/post-message`
|
||||
Examples:
|
||||
{:token "MY-TOKEN"}
|
||||
{:token "MY-TOKEN", :api-url "<a href="https://slack.com/api">https://slack.com/api</a>"}
|
||||
|
||||
`:post-opts` - Map of post opts given to `clj-slack.chat/post-message`
|
||||
Examples:
|
||||
{:channel-id "C12345678", :username "MY_BOT"}
|
||||
|
||||
`:output-fn` - (fn [signal]) => string, see `format-signal-fn` or `pr-signal-fn`
|
||||
|
||||
Tips:
|
||||
- See `clj-slack` docs for more info on its options.</pre></div></div></div></body></html>
|
||||
|
|
@ -1,34 +1,41 @@
|
|||
<!DOCTYPE html PUBLIC ""
|
||||
"">
|
||||
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.sockets 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-beta7</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.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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.sockets.html#var-a-handler.3Atcp-socket"><div class="inner"><span>a-handler:tcp-socket</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.sockets.html#var-a-handler.3Audp-socket"><div class="inner"><span>a-handler:udp-socket</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.sockets.html#var-handler.3Atcp-socket"><div class="inner"><span>handler:tcp-socket</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.sockets.html#var-handler.3Audp-socket"><div class="inner"><span>handler:udp-socket</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.sockets</h1><div class="doc"><pre class="plaintext">Basic TCP/UDP socket handlers.
|
||||
</pre></div><div class="public anchor" id="var-a-handler.3Atcp-socket"><h3>a-handler:tcp-socket</h3><h4 class="lang current">clj</h4><div class="usage"><code>(a-handler:tcp-socket)</code><code>(a-handler:tcp-socket signal)</code></div><div class="doc"><pre class="plaintext"></pre></div></div><div class="public anchor" id="var-a-handler.3Audp-socket"><h3>a-handler:udp-socket</h3><h4 class="lang current">clj</h4><div class="usage"><code>(a-handler:udp-socket)</code><code>(a-handler:udp-socket signal)</code></div><div class="doc"><pre class="plaintext"></pre></div></div><div class="public anchor" id="var-handler.3Atcp-socket"><h3>handler:tcp-socket</h3><h4 class="lang current">clj</h4><div class="usage"><code>(handler:tcp-socket host port)</code><code>(handler:tcp-socket host port {:keys [socket-opts output-fn], :or {output-fn (utils/format-signal-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change. Feedback welcome!
|
||||
<html><head><meta charset="UTF-8" /><title>taoensso.telemere.sockets 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-beta8</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.slack.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>slack</span></div></a></li><li class="depth-3 branch current"><a href="taoensso.telemere.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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.sockets.html#var-handler.3Atcp-socket"><div class="inner"><span>handler:tcp-socket</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.sockets.html#var-handler.3Audp-socket"><div class="inner"><span>handler:udp-socket</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.telemere.sockets</h1><div class="doc"><pre class="plaintext">Basic TCP/UDP socket handlers.
|
||||
</pre></div><div class="public anchor" id="var-handler.3Atcp-socket"><h3>handler:tcp-socket</h3><h4 class="lang current">clj</h4><div class="usage"><code>(handler:tcp-socket {:keys [socket-opts output-fn], :or {output-fn (utils/format-signal-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
|
||||
|
||||
Returns a (fn handler [signal]) that:
|
||||
- Takes a Telemere signal.
|
||||
- Sends formatted signal string to specified TCP socket.
|
||||
- Takes a Telemere signal (map).
|
||||
- Sends the signal as a string to specified TCP socket.
|
||||
|
||||
Can output signals as human or machine-readable (edn, JSON) strings.
|
||||
|
||||
Options:
|
||||
`host` - Destination TCP socket hostname string
|
||||
`port` - Destination TCP socket port int
|
||||
`:socket-opts` - {:keys [host port ssl? connect-timeout-msecs]}
|
||||
`:host` - Destination TCP socket hostname string
|
||||
`:port` - Destination TCP socket port int
|
||||
`:ssl?` - Use SSL/TLS (default false)
|
||||
`:connect-timeout-msecs` - Connection timeout (default 3000 msecs)
|
||||
|
||||
`:socket-opts` - {:keys [ssl? connect-timeout-msecs]}
|
||||
`:output-fn` - (fn [signal]) => output string, see `format-signal-fn` or `pr-signal-fn`
|
||||
`:output-fn` - (fn [signal]) => string, see `format-signal-fn` or `pr-signal-fn`
|
||||
|
||||
Limitations:
|
||||
- Failed writes will be retried only once.
|
||||
- Writes lock on a single underlying socket, so IO won't benefit from adding
|
||||
extra handler threads. Let me know if there's demand for socket pooling.</pre></div></div><div class="public anchor" id="var-handler.3Audp-socket"><h3>handler:udp-socket</h3><h4 class="lang current">clj</h4><div class="usage"><code>(handler:udp-socket host port)</code><code>(handler:udp-socket host port {:keys [output-fn max-packet-bytes truncation-warning-fn], :or {output-fn (utils/format-signal-fn), max-packet-bytes 512}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change. Feedback welcome!
|
||||
extra handler threads. Let me know if there's demand for socket pooling.</pre></div></div><div class="public anchor" id="var-handler.3Audp-socket"><h3>handler:udp-socket</h3><h4 class="lang current">clj</h4><div class="usage"><code>(handler:udp-socket {:keys [socket-opts output-fn truncation-warning-fn], :or {socket-opts {:max-packet-bytes 512}, output-fn (utils/format-signal-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change. Feedback welcome!
|
||||
|
||||
Returns a (fn handler [signal]) that:
|
||||
- Takes a Telemere signal.
|
||||
- Sends formatted signal string to specified UDP socket.
|
||||
- Takes a Telemere signal (map).
|
||||
- Sends the signal as a string to specified UDP socket.
|
||||
|
||||
Can output signals as human or machine-readable (edn, JSON) strings.
|
||||
|
||||
Options:
|
||||
`host` - Destination UDP socket hostname string
|
||||
`port` - Destination UDP socket port int
|
||||
`:socket-opts` - {:keys [host port max-packet-bytes]}
|
||||
`:host` - Destination UDP socket hostname string
|
||||
`:port` - Destination UDP socket port int
|
||||
`:max-packet-bytes` - Max packet size (in bytes) before truncating output (default 512)
|
||||
|
||||
`:output-fn` - (fn [signal]) => output string, see `format-signal-fn` or `pr-signal-fn`
|
||||
`:max-packet-bytes` - Max packet size (in bytes) before truncating output (default 512)
|
||||
`:output-fn` - (fn [signal]) => string, see `format-signal-fn` or `pr-signal-fn`
|
||||
`:truncation-warning-fn` - Optional (fn [{:keys [max actual signal]}]) to call whenever
|
||||
output is truncated. Should be appropriately rate-limited!
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<!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-beta7</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.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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->reset!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-streams-.3Etelemere.21"><div class="inner"><span>streams->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->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->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->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 -> 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-beta8</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.slack.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>slack</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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->reset!</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.streams.html#var-streams-.3Etelemere.21"><div class="inner"><span>streams->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->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->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->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 -> 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->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->telemere? telemere-receiving?]}.
|
||||
</pre></div></div><div class="public anchor" id="var-streams-.3Ereset.21"><h3>streams->reset!</h3><h4 class="lang current">clj</h4><div class="usage"><code>(streams->reset!)</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
|
||||
|
|
|
|||
|
|
@ -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-beta7</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-beta8</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
|
|
@ -1,6 +1,6 @@
|
|||
<!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-beta7</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.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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->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->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` -> 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-beta8</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.slack.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>slack</span></div></a></li><li class="depth-3 branch"><a href="taoensso.telemere.sockets.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sockets</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->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->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` -> 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->telemere? telemere-receiving?]}.
|
||||
</pre></div></div><div class="public anchor" id="var-tools-logging-.3Etelemere.21"><h3>tools-logging->telemere!</h3><h4 class="lang current">clj</h4><div class="usage"><code>(tools-logging->telemere!)</code></div><div class="doc"><pre class="plaintext">Configures `clojure.tools.logging` to use Telemere as its logging implementation.
|
||||
|
||||
|
|
|
|||
|
|
@ -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-beta7</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->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-fn"><div class="inner"><span>format-signal-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-pr-signal-fn"><div class="inner"><span>pr-signal-fn</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><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-signal-content-fn"><div class="inner"><span>signal-content-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-signal-preamble-fn"><div class="inner"><span>signal-preamble-fn</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-beta8</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->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-fn"><div class="inner"><span>format-signal-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-pr-signal-fn"><div class="inner"><span>pr-signal-fn</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><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-signal-content-fn"><div class="inner"><span>signal-content-fn</span></div></a></li><li class="depth-1"><a href="taoensso.telemere.utils.cljs.html#var-signal-preamble-fn"><div class="inner"><span>signal-preamble-fn</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->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->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.
|
||||
|
|
@ -10,11 +10,11 @@ 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-04-08)</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 without notice.
|
||||
- Returns a human-readable error 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-04-08)</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 without notice.
|
||||
|
||||
Returns a (fn format [instant]) that:
|
||||
- Takes a platform instant (`java.time.Instant` or `js/Date`).
|
||||
- Returns a formatted human-readable string.
|
||||
- Returns a formatted human-readable instant string.
|
||||
|
||||
Options:
|
||||
`:zone` (Clj only) `java.time.ZoneOffset` (defaults to UTC).
|
||||
|
|
@ -26,11 +26,16 @@ Options:
|
|||
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:
|
||||
- Returns a human-readable string like:
|
||||
"1.00m", "4.20s", "340ms", "822μs", etc.</pre></div></div><div class="public anchor" id="var-format-signal-fn"><h3>format-signal-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-format-signal-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(format-signal-fn)</code><code>(format-signal-fn {:keys [incl-newline? preamble-fn content-fn], :or {incl-newline? true, preamble-fn (signal-preamble-fn), content-fn (signal-content-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
|
||||
Returns a (fn format [signal]) that:
|
||||
- Takes a Telemere signal.
|
||||
- Returns human-readable formatted string.
|
||||
- Takes a Telemere signal (map).
|
||||
- Returns a human-readable signal string.
|
||||
|
||||
Options:
|
||||
`:incl-newline?` - Include terminating system newline? (default true)
|
||||
`:preamble-fn` - (fn [signal]) => signal preamble string.
|
||||
`:content-fn` - (fn [signal]) => signal content string.
|
||||
|
||||
See also `pr-signal-fn` for machine-readable output.</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` -> `js/console.trace`,
|
||||
|
|
@ -38,7 +43,7 @@ See also `pr-signal-fn` for machine-readable output.</pre></div></div><div class
|
|||
|
||||
Defaults to `js.console.log` for unmatched signal levels.
|
||||
NB: assumes that `js/console` exists, handler constructors 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:
|
||||
Returns minimal signal, removing:
|
||||
- Keys with nil values, and
|
||||
- Keys with redundant values (`:kvs`, `:location`, `:file`).
|
||||
|
||||
|
|
@ -46,13 +51,15 @@ Useful when serializing signals to edn/JSON/etc.</pre></div></div><div class="pu
|
|||
</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-pr-signal-fn"><h3>pr-signal-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-pr-signal-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(pr-signal-fn pr-fn)</code><code>(pr-signal-fn pr-fn {:keys [incl-thread? incl-kvs? incl-newline? prep-fn], :or {incl-newline? true, prep-fn (comp error-in-signal->maps minify-signal)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
|
||||
Returns a (fn pr-signal [signal]) that:
|
||||
- Takes a Telemere signal.
|
||||
- Returns machine-readable serialized string of the (minified) signal.
|
||||
Returns a (fn pr [signal]) that:
|
||||
- Takes a Telemere signal (map).
|
||||
- Returns a machine-readable (minified) signal string.
|
||||
|
||||
Options include:
|
||||
`pr-fn` ∈ #{<unary-fn> :edn :json (Cljs only)}
|
||||
See arglists for more.
|
||||
Options:
|
||||
`pr-fn` - ∈ #{<unary-fn> :edn :json (Cljs only)}
|
||||
`:incl-thread?` - Include signal `:thread` info? (default false)
|
||||
`:incl-kvs?` - Include signal `:kvs` info? (default false)
|
||||
`:incl-newline?` - Include terminating system newline? (default true)
|
||||
|
||||
Examples:
|
||||
(pr-signal-fn :edn {<opts>})
|
||||
|
|
@ -63,16 +70,22 @@ Examples:
|
|||
(require '[jsonista.core :as jsonista])
|
||||
(pr-signal-fn jsonista/write-value-as-string {<opts>})
|
||||
|
||||
See also `format-signal-fn` for human-readable output.</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.
|
||||
See also `format-signal-fn` for human-readable output.</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 given signal without user-level kvs.
|
||||
</pre></div></div><div class="public anchor" id="var-signal-content-fn"><h3>signal-content-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-signal-content-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(signal-content-fn)</code><code>(signal-content-fn {:keys [incl-thread? incl-kvs? raw-error? format-nsecs-fn format-error-fn], :or {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 content [signal]) that:
|
||||
- Takes a Telemere signal.
|
||||
- Returns a signal content ?string (incl. data, ctx, etc.)
|
||||
- Takes a Telemere signal (map).
|
||||
- Returns a signal content ?string (incl. data, ctx, etc.).
|
||||
|
||||
See arglists for options.</pre></div></div><div class="public anchor" id="var-signal-preamble-fn"><h3>signal-preamble-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-signal-preamble-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(signal-preamble-fn)</code><code>(signal-preamble-fn {:keys [format-inst-fn], :or {format-inst-fn (format-inst-fn)}})</code></div><div class="doc"><pre class="plaintext">Experimental, subject to change.
|
||||
Options:
|
||||
`:incl-thread?` - Include signal `:thread` info? (default false)
|
||||
`:incl-kvs?` - Include signal `:kvs` info? (default false)
|
||||
`:raw-error?` - Retain unformatted error? (default false)
|
||||
`:format-nsecs-fn` - (fn [nanosecs]) => string.
|
||||
`:format-error-fn` - (fn [error]) => string.</pre></div></div><div class="public anchor" id="var-signal-preamble-fn"><h3>signal-preamble-fn</h3><h4 class="lang"><a href="taoensso.telemere.utils.html#var-signal-preamble-fn">clj</a></h4><h4 class="lang current">cljs</h4><div class="usage"><code>(signal-preamble-fn)</code><code>(signal-preamble-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 preamble [signal]) that:
|
||||
- Takes a Telemere signal.
|
||||
- Takes a Telemere signal (map).
|
||||
- Returns a signal preamble ?string like:
|
||||
"2024-03-26T11:14:51.806Z INFO EVENT Hostname taoensso.telemere(2,21) ::ev-id - msg"
|
||||
|
||||
See arglists for options.</pre></div></div></div></body></html>
|
||||
Options:
|
||||
`:format-inst-fn` - (fn format [instant]) => string.</pre></div></div></div></body></html>
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue