each <spanclass="RktVal">'</span><spanclass="RktVal">publisher</span> message sent to the VM’s network.</div></p></div></p><h4>5.2<tt> </tt><aname="(part._logging)"></a><aname="(mod-path._marketplace/log-untyped)"></a><aname="(mod-path._marketplace/log-typed)"></a>logging (MATRIX_LOG)</h4><p><divclass="SIntrapara"><tablecellspacing="0"class="defmodule"><tr><td><spanclass="hspace"> </span><spanclass="RktPn">(</span><spanclass="RktSym"><ahref="http://docs.racket-lang.org/reference/require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29"class="RktStxLink"data-pltdoc="x">require</a></span><spanclass="stt"></span><ahref="#%28mod-path._marketplace%2Flog-untyped%29"class="RktModLink"data-pltdoc="x"><spanclass="RktSym">marketplace/log-untyped</span></a><spanclass="RktPn">)</span></td></tr><tr><td><spanclass="hspace"> </span><spanclass="RktPn">(</span><spanclass="RktSym"><ahref="http://docs.racket-lang.org/reference/require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29"class="RktStxLink"data-pltdoc="x">require</a></span><spanclass="stt"></span><ahref="#%28mod-path._marketplace%2Flog-typed%29"class="RktModLink"data-pltdoc="x"><spanclass="RktSym">marketplace/log-typed</span></a><spanclass="RktPn">)</span></td></tr></table></div><divclass="SIntrapara"><p><divclass="SIntrapara"><blockquoteclass="SVInsetFlow"><tablecellspacing="0"class="boxed RBoxed"><tr><td><blockquoteclass="SubFlow"><divclass="RBackgroundLabel SIEHidden"><divclass="RBackgroundLabelInner"><p>environment variable</p></div></div><pclass="RForeground"><aname="(form._((lib._marketplace/log-untyped..rkt)._.M.A.T.R.I.X_.L.O.G))"></a><spantitle="Provided from: marketplace/log-untyped, marketplace/log-typed"><spanclass="RktSym">MATRIX_LOG</span></span></p></blockquote></td></tr></table></blockquote></div><divclass="SIntrapara">Set the <spanclass="stt">MATRIX_LOG</span> environment variable to "debug", "info",
"warning", "error" or "fatal" (i.e. any of Racket’s
<spanclass="RktSym"><ahref="http://docs.racket-lang.org/reference/logging.html#%28def._%28%28quote._~23~25kernel%29._log-level~3f%29%29"class="RktValLink"data-pltdoc="x">log-level?</a></span>s) to enable output of log messages at that level
and higher.</div></p></div><divclass="SIntrapara">If <spanclass="stt">MATRIX_LOG</span> is not defined in the environment, <spanstyle="font-style: italic">no log
output will be produced</span>.</div><divclass="SIntrapara"><p><divclass="SIntrapara"><blockquoteclass="SVInsetFlow"><tablecellspacing="0"class="boxed RBoxed"><tr><td><blockquoteclass="SubFlow"><divclass="RBackgroundLabel SIEHidden"><divclass="RBackgroundLabelInner"><p>syntax</p></div></div><pclass="RForeground"><spanclass="RktPn">(</span><aname="(form._((lib._marketplace/log-untyped..rkt)._matrix-log))"></a><spantitle="Provided from: marketplace/log-untyped, marketplace/log-typed"><spanclass="RktSym">matrix-log</span></span><spanclass="hspace"> </span><spanclass="RktVar">level</span><spanclass="hspace"> </span><spanclass="RktVar">format-str</span><spanclass="hspace"> </span><spanclass="RktVar">arg</span><spanclass="hspace"> </span><spanclass="RktMeta">...</span><spanclass="RktPn">)</span></p></blockquote></td></tr><tr><td><spanclass="stt"> </span></td></tr><tr><td><tablecellspacing="0"class="specgrammar"><tr><tdalign="right"valign="baseline"><spanclass="RktVar">level</span></td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="center"valign="baseline">=</td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="left"valign="baseline"><spanclass="RktVar">expr</span></td></tr><tr><tdalign="right"valign="baseline"><spanclass="stt"> </span></td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="center"valign="baseline"><spanclass="stt"> </span></td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td></tr><tr><tdalign="right"valign="baseline"><spanclass="RktVar">format-str</span></td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="center"valign="baseline">=</td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="left"valign="baseline"><spanclass="RktVar">expr</span></td></tr><tr><tdalign="right"valign="baseline"><spanclass="stt"> </span></td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="center"valign="baseline"><spanclass="stt"> </span></td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td></tr><tr><tdalign="right"valign="baseline"><spanclass="RktVar">arg</span></td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="center"valign="baseline">=</td><tdalign="left"valign="baseline"><spanclass="stt"> </span></td><tdalign="left"valign="baseline"><spanclass="RktVar">expr</span></td></tr></table></td></tr></table></blockquote></div><divclass="SIntrapara">Analogous to Racket’s core <spanclass="RktSym"><ahref="http://docs.racket-lang.org/reference/logging.html#%28def._%28%28quote._~23~25kernel%29._log-message%29%29"class="RktValLink"data-pltdoc="x">log-message</a></span>, but uses
<spanclass="RktSym">matrix-root-logger</span> instead of the system logger. The
<spanclass="RktVar">level</span> expression must evaluate to a level symbol (see
<spanclass="RktSym"><ahref="http://docs.racket-lang.org/reference/logging.html#%28def._%28%28quote._~23~25kernel%29._log-level~3f%29%29"class="RktValLink"data-pltdoc="x">log-level?</a></span>), and <spanclass="RktVar">format-str</span> must evaluate to a
format string for use with <spanclass="RktSym"><ahref="http://docs.racket-lang.org/reference/Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29"class="RktValLink"data-pltdoc="x">format</a></span>.</div></p></div><divclass="SIntrapara"><p><divclass="SIntrapara"><blockquoteclass="SVInsetFlow"><tablecellspacing="0"class="boxed RBoxed"><tr><td><blockquoteclass="SubFlow"><divclass="RBackgroundLabel SIEHidden"><divclass="RBackgroundLabelInner"><p>value</p></div></div><pclass="RForeground"><aname="(def._((lib._marketplace/log-untyped..rkt)._matrix-root-logger))"></a><spantitle="Provided from: marketplace/log-untyped, marketplace/log-typed"><spanclass="RktSym">matrix-root-logger</span></span><spanclass="hspace"> </span>:<spanclass="hspace"> </span><spanclass="RktSym"><ahref="http://docs.racket-lang.org/reference/logging.html#%28def._%28%28quote._~23~25kernel%29._logger~3f%29%29"class="RktValLink"data-pltdoc="x">logger?</a></span></p></blockquote></td></tr></table></blockquote></div><divclass="SIntrapara">The root logger for marketplace logging.</div></p></div></p><h4>5.3<tt> </tt><aname="(part._debugger__experimental_)"></a><aname="(mod-path._marketplace/support/debug)"></a>debugger (experimental)</h4><p><divclass="SIntrapara"><tablecellspacing="0"class="defmodule"><tr><td><spanclass="hspace"> </span><spanclass="RktPn">(</span><spanclass="RktSym"><ahref="http://docs.racket-lang.org/reference/require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29"class="RktStxLink"data-pltdoc="x">require</a></span><spanclass="stt"></span><ahref="#%28mod-path._marketplace%2Fsupport%2Fdebug%29"class="RktModLink"data-pltdoc="x"><spanclass="RktSym">marketplace/support/debug</span></a><spanclass="RktPn">)</span></td></tr></table></div><divclass="SIntrapara"><p><divclass="SIntrapara"><blockquoteclass="SVInsetFlow"><tablecellspacing="0"class="boxed RBoxed"><tr><td><blockquoteclass="SubFlow"><divclass="RBackgroundLabel SIEHidden"><divclass="RBackgroundLabelInner"><p>procedure</p></div></div><pclass="RForeground"><spanclass="RktPn">(</span><aname="(def._((lib._marketplace/support/debug..rkt)._debug))"></a><spantitle="Provided from: marketplace/support/debug"><spanclass="RktSym">debug</span></span><spanclass="hspace"> </span><spanclass="RktVar">p</span><spanclass="RktPn">)</span><spanclass="hspace"> </span>→<spanclass="hspace"> </span><spanclass="RktSym">Spawn</span></p></blockquote></td></tr><tr><td><spanclass="hspace"> </span><spanclass="RktVar">p</span><spanclass="hspace"> </span>:<spanclass="hspace"> </span><spanclass="RktSym">Spawn</span></td></tr></table></blockquote></div><divclass="SIntrapara">Translates a <spanclass="RktSym">spawn</span> action to another spawn action which wraps
use of <spanclass="RktSym">debug</span>.</div></p><divclass="navsetbottom"><spanclass="navleft"> </span><spanclass="navright"> <ahref="Drivers.html"title="backward to "4 Drivers""data-pltdoc="x">← prev</a> <ahref="index.html"title="up to "Marketplace: Network-Aware Programming""data-pltdoc="x">up</a> <ahref="Examples.html"title="forward to "6 Examples""data-pltdoc="x">next →</a></span> </div></div></div><divid="contextindicator"> </div></body></html>