edlang/tracing_subscriber/fmt/struct.SubscriberBuilder.html
2024-07-26 09:42:18 +00:00

344 lines
85 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Configures and constructs `Subscriber`s."><title>SubscriberBuilder in tracing_subscriber::fmt - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="tracing_subscriber" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0 (051478957 2024-07-21)" data-channel="1.80.0" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button><a class="logo-container" href="../../tracing_subscriber/index.html"><img src="https://raw.githubusercontent.com/tokio-rs/tracing/master/assets/logo-type.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../tracing_subscriber/index.html"><img src="https://raw.githubusercontent.com/tokio-rs/tracing/master/assets/logo-type.png" alt="logo"></a><h2><a href="../../tracing_subscriber/index.html">tracing_subscriber</a><span class="version">0.3.18</span></h2></div><h2 class="location"><a href="#">SubscriberBuilder</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.compact">compact</a></li><li><a href="#method.event_format">event_format</a></li><li><a href="#method.finish">finish</a></li><li><a href="#method.fmt_fields">fmt_fields</a></li><li><a href="#method.init">init</a></li><li><a href="#method.log_internal_errors">log_internal_errors</a></li><li><a href="#method.map_event_format">map_event_format</a></li><li><a href="#method.map_fmt_fields">map_fmt_fields</a></li><li><a href="#method.map_writer">map_writer</a></li><li><a href="#method.pretty">pretty</a></li><li><a href="#method.reload_handle">reload_handle</a></li><li><a href="#method.try_init">try_init</a></li><li><a href="#method.with_ansi">with_ansi</a></li><li><a href="#method.with_env_filter">with_env_filter</a></li><li><a href="#method.with_file">with_file</a></li><li><a href="#method.with_filter_reloading">with_filter_reloading</a></li><li><a href="#method.with_level">with_level</a></li><li><a href="#method.with_line_number">with_line_number</a></li><li><a href="#method.with_max_level">with_max_level</a></li><li><a href="#method.with_span_events">with_span_events</a></li><li><a href="#method.with_target">with_target</a></li><li><a href="#method.with_test_writer">with_test_writer</a></li><li><a href="#method.with_thread_ids">with_thread_ids</a></li><li><a href="#method.with_thread_names">with_thread_names</a></li><li><a href="#method.with_timer">with_timer</a></li><li><a href="#method.with_writer">with_writer</a></li><li><a href="#method.without_time">without_time</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-SubscriberBuilder%3CN,+E,+F,+W%3E">Debug</a></li><li><a href="#impl-Default-for-SubscriberBuilder">Default</a></li><li><a href="#impl-From%3CSubscriberBuilder%3CN,+E,+F,+W%3E%3E-for-Dispatch">From&lt;SubscriberBuilder&lt;N, E, F, W&gt;&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-SubscriberBuilder%3CN,+E,+F,+W%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-SubscriberBuilder%3CN,+E,+F,+W%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-SubscriberBuilder%3CN,+E,+F,+W%3E">Send</a></li><li><a href="#impl-Sync-for-SubscriberBuilder%3CN,+E,+F,+W%3E">Sync</a></li><li><a href="#impl-Unpin-for-SubscriberBuilder%3CN,+E,+F,+W%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-SubscriberBuilder%3CN,+E,+F,+W%3E">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-SubscriberInitExt-for-T">SubscriberInitExt</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In tracing_subscriber::fmt</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">tracing_subscriber</a>::<wbr><a href="index.html">fmt</a>::<wbr><a class="struct" href="#">SubscriberBuilder</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/tracing_subscriber/fmt/mod.rs.html#247-255">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SubscriberBuilder&lt;N = <a class="struct" href="format/struct.DefaultFields.html" title="struct tracing_subscriber::fmt::format::DefaultFields">DefaultFields</a>, E = <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;<a class="struct" href="format/struct.Full.html" title="struct tracing_subscriber::fmt::format::Full">Full</a>&gt;, F = <a class="struct" href="../filter/struct.LevelFilter.html" title="struct tracing_subscriber::filter::LevelFilter">LevelFilter</a>, W = <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.fn.html">fn</a>() -&gt; <a class="struct" href="https://doc.rust-lang.org/1.80.0/std/io/stdio/struct.Stdout.html" title="struct std::io::stdio::Stdout">Stdout</a>&gt; { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Configures and constructs <code>Subscriber</code>s.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-SubscriberBuilder%3CN,+E,+F,+W%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#474-519">source</a><a href="#impl-SubscriberBuilder%3CN,+E,+F,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, F, W&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;<div class="where">where
N: for&lt;'writer&gt; <a class="trait" href="trait.FormatFields.html" title="trait tracing_subscriber::fmt::FormatFields">FormatFields</a>&lt;'writer&gt; + 'static,
E: <a class="trait" href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent">FormatEvent</a>&lt;<a class="struct" href="../registry/struct.Registry.html" title="struct tracing_subscriber::registry::Registry">Registry</a>, N&gt; + 'static,
W: for&lt;'writer&gt; <a class="trait" href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter">MakeWriter</a>&lt;'writer&gt; + 'static,
F: <a class="trait" href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer">Layer</a>&lt;<a class="type" href="type.Formatter.html" title="type tracing_subscriber::fmt::Formatter">Formatter</a>&lt;N, E, W&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,
<a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;<a class="struct" href="../registry/struct.Registry.html" title="struct tracing_subscriber::registry::Registry">Registry</a>, N, E, W&gt;: <a class="trait" href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer">Layer</a>&lt;<a class="struct" href="../registry/struct.Registry.html" title="struct tracing_subscriber::registry::Registry">Registry</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.finish" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#483-488">source</a><h4 class="code-header">pub fn <a href="#method.finish" class="fn">finish</a>(self) -&gt; <a class="struct" href="struct.Subscriber.html" title="struct tracing_subscriber::fmt::Subscriber">Subscriber</a>&lt;N, E, F, W&gt;</h4></section></summary><div class="docblock"><p>Finish the builder, returning a new <code>FmtSubscriber</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_init" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#500-505">source</a><h4 class="code-header">pub fn <a href="#method.try_init" class="fn">try_init</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.80.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static&gt;&gt;</h4></section></summary><div class="docblock"><p>Install this Subscriber as the global default if one is
not already set.</p>
<p>If the <code>tracing-log</code> feature is enabled, this will also install
the LogTracer to convert <code>Log</code> records into <code>tracing</code> <code>Event</code>s.</p>
<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
<p>Returns an Error if the initialization was unsuccessful, likely
because a global subscriber was already installed by another
call to <code>try_init</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.init" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#515-518">source</a><h4 class="code-header">pub fn <a href="#method.init" class="fn">init</a>(self)</h4></section></summary><div class="docblock"><p>Install this Subscriber as the global default.</p>
<p>If the <code>tracing-log</code> feature is enabled, this will also install
the LogTracer to convert <code>Log</code> records into <code>tracing</code> <code>Event</code>s.</p>
<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
<p>Panics if the initialization was unsuccessful, likely because a
global subscriber was already installed by another call to <code>try_init</code>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SubscriberBuilder%3CN,+Format%3CL,+T%3E,+F,+W%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#534-779">source</a><a href="#impl-SubscriberBuilder%3CN,+Format%3CL,+T%3E,+F,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, L, T, F, W&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, F, W&gt;<div class="where">where
N: for&lt;'writer&gt; <a class="trait" href="trait.FormatFields.html" title="trait tracing_subscriber::fmt::FormatFields">FormatFields</a>&lt;'writer&gt; + 'static,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_timer" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#552-557">source</a><h4 class="code-header">pub fn <a href="#method.with_timer" class="fn">with_timer</a>&lt;T2&gt;(
self,
timer: T2,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T2&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Use the given <a href="time/trait.FormatTime.html" title="trait tracing_subscriber::fmt::time::FormatTime"><code>timer</code></a> for log message timestamps.</p>
<p>See the <a href="time/index.html" title="mod tracing_subscriber::fmt::time"><code>time</code> module</a> for the provided timer implementations.</p>
<p>Note that using the <code>&quot;time</code>“” feature flag enables the
additional time formatters <a href="time::UtcTime"><code>UtcTime</code></a> and <a href="time::LocalTime"><code>LocalTime</code></a>, which use the
<a href="https://docs.rs/time/0.3"><code>time</code> crate</a> to provide more sophisticated timestamp formatting
options.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.without_time" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#560-565">source</a><h4 class="code-header">pub fn <a href="#method.without_time" class="fn">without_time</a>(self) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.unit.html">()</a>&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Do not emit timestamps with log messages.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_span_events" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#608-613">source</a><h4 class="code-header">pub fn <a href="#method.with_span_events" class="fn">with_span_events</a>(self, kind: <a class="struct" href="format/struct.FmtSpan.html" title="struct tracing_subscriber::fmt::format::FmtSpan">FmtSpan</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Configures how synthesized events are emitted at points in the <a href="https://docs.rs/tracing/latest/tracing/span/index.html#the-span-lifecycle">span
lifecycle</a>.</p>
<p>The following options are available:</p>
<ul>
<li><code>FmtSpan::NONE</code>: No events will be synthesized when spans are
created, entered, exited, or closed. Data from spans will still be
included as the context for formatted events. This is the default.</li>
<li><code>FmtSpan::NEW</code>: An event will be synthesized when spans are created.</li>
<li><code>FmtSpan::ENTER</code>: An event will be synthesized when spans are entered.</li>
<li><code>FmtSpan::EXIT</code>: An event will be synthesized when spans are exited.</li>
<li><code>FmtSpan::CLOSE</code>: An event will be synthesized when a span closes. If
<a href="struct.SubscriberBuilder.html#method.without_time" title="method tracing_subscriber::fmt::SubscriberBuilder::without_time">timestamps are enabled</a> for this formatter, the generated
event will contain fields with the spans <em>busy time</em> (the total
time for which it was entered) and <em>idle time</em> (the total time that
the span existed but was not entered).</li>
<li><code>FmtSpan::ACTIVE</code>: An event will be synthesized when spans are entered
or exited.</li>
<li><code>FmtSpan::FULL</code>: Events will be synthesized whenever a span is
created, entered, exited, or closed. If timestamps are enabled, the
close event will contain the spans busy and idle time, as
described above.</li>
</ul>
<p>The options can be enabled in any combination. For instance, the following
will synthesize events whenever spans are created and closed:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::fmt::format::FmtSpan;
<span class="kw">use </span>tracing_subscriber::fmt;
<span class="kw">let </span>subscriber = fmt()
.with_span_events(FmtSpan::NEW | FmtSpan::CLOSE)
.finish();</code></pre></div>
<p>Note that the generated events will only be part of the log output by
this formatter; they will not be recorded by other <code>Subscriber</code>s or by
<code>Layer</code>s added to this subscriber.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_ansi" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#632-637">source</a><h4 class="code-header">pub fn <a href="#method.with_ansi" class="fn">with_ansi</a>(self, ansi: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether or not the formatter emits ANSI terminal escape codes
for colors and other text formatting.</p>
<p>Enabling ANSI escapes (calling <code>with_ansi(true)</code>) requires the “ansi”
crate feature flag. Calling <code>with_ansi(true)</code> without the “ansi”
feature flag enabled will panic if debug assertions are enabled, or
print a warning otherwise.</p>
<p>This method itself is still available without the feature flag. This
is to allow ANSI escape codes to be explicitly <em>disabled</em> without
having to opt-in to the dependencies required to emit ANSI formatting.
This way, code which constructs a formatter that should never emit
ANSI escape codes can ensure that they are not used, regardless of
whether or not other crates in the dependency graph enable the “ansi”
feature flag.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.log_internal_errors" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#650-658">source</a><h4 class="code-header">pub fn <a href="#method.log_internal_errors" class="fn">log_internal_errors</a>(
self,
log_internal_errors: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether to write errors from <a href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent"><code>FormatEvent</code></a> to the writer.
Defaults to true.</p>
<p>By default, <code>fmt::Layer</code> will write any <code>FormatEvent</code>-internal errors to
the writer. These errors are unlikely and will only occur if there is a
bug in the <code>FormatEvent</code> implementation or its dependencies.</p>
<p>If writing to the writer fails, the error message is printed to stderr
as a fallback.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_target" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#661-669">source</a><h4 class="code-header">pub fn <a href="#method.with_target" class="fn">with_target</a>(
self,
display_target: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether or not an events target is displayed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_file" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#675-683">source</a><h4 class="code-header">pub fn <a href="#method.with_file" class="fn">with_file</a>(
self,
display_filename: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether or not an events <a href="../../tracing_core/metadata/struct.Metadata.html#method.file" title="method tracing_core::metadata::Metadata::file">source code file path</a> is
displayed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_line_number" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#689-697">source</a><h4 class="code-header">pub fn <a href="#method.with_line_number" class="fn">with_line_number</a>(
self,
display_line_number: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether or not an events <a href="../../tracing_core/metadata/struct.Metadata.html#method.line" title="method tracing_core::metadata::Metadata::line">source code line number</a> is
displayed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_level" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#700-708">source</a><h4 class="code-header">pub fn <a href="#method.with_level" class="fn">with_level</a>(
self,
display_level: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether or not an events level is displayed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_thread_names" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#714-722">source</a><h4 class="code-header">pub fn <a href="#method.with_thread_names" class="fn">with_thread_names</a>(
self,
display_thread_names: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether or not the <a href="https://doc.rust-lang.org/1.80.0/std/thread/index.html#naming-threads" title="mod std::thread">name</a> of the current thread is displayed
when formatting events.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_thread_ids" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#728-736">source</a><h4 class="code-header">pub fn <a href="#method.with_thread_ids" class="fn">with_thread_ids</a>(
self,
display_thread_ids: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether or not the <a href="https://doc.rust-lang.org/1.80.0/std/thread/struct.ThreadId.html" title="struct std::thread::ThreadId">thread ID</a> of the current thread is displayed
when formatting events.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.compact" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#741-749">source</a><h4 class="code-header">pub fn <a href="#method.compact" class="fn">compact</a>(self) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;<a class="struct" href="format/struct.Compact.html" title="struct tracing_subscriber::fmt::format::Compact">Compact</a>, T&gt;, F, W&gt;<div class="where">where
N: for&lt;'writer&gt; <a class="trait" href="trait.FormatFields.html" title="trait tracing_subscriber::fmt::FormatFields">FormatFields</a>&lt;'writer&gt; + 'static,</div></h4></section></summary><div class="docblock"><p>Sets the subscriber being built to use a less verbose formatter.</p>
<p>See <a href="format/struct.Compact.html" title="struct tracing_subscriber::fmt::format::Compact"><code>format::Compact</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.pretty" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#754-761">source</a><h4 class="code-header">pub fn <a href="#method.pretty" class="fn">pretty</a>(self) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;<a class="struct" href="format/struct.Pretty.html" title="struct tracing_subscriber::fmt::format::Pretty">Pretty</a>, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;<a class="struct" href="format/struct.Pretty.html" title="struct tracing_subscriber::fmt::format::Pretty">Pretty</a>, T&gt;, F, W&gt;</h4></section></summary><div class="docblock"><p>Sets the subscriber being built to use an <a href="format/struct.Pretty.html" title="struct tracing_subscriber::fmt::format::Pretty">excessively pretty, human-readable formatter</a>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SubscriberBuilder%3CN,+E,+EnvFilter,+W%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#828-844">source</a><a href="#impl-SubscriberBuilder%3CN,+E,+EnvFilter,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, W&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, <a class="struct" href="../filter/struct.EnvFilter.html" title="struct tracing_subscriber::filter::EnvFilter">EnvFilter</a>, W&gt;<div class="where">where
<a class="type" href="type.Formatter.html" title="type tracing_subscriber::fmt::Formatter">Formatter</a>&lt;N, E, W&gt;: <a class="trait" href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber">Subscriber</a> + 'static,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_filter_reloading" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#834-843">source</a><h4 class="code-header">pub fn <a href="#method.with_filter_reloading" class="fn">with_filter_reloading</a>(
self,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, <a class="struct" href="../reload/struct.Layer.html" title="struct tracing_subscriber::reload::Layer">Layer</a>&lt;<a class="struct" href="../filter/struct.EnvFilter.html" title="struct tracing_subscriber::filter::EnvFilter">EnvFilter</a>, <a class="type" href="type.Formatter.html" title="type tracing_subscriber::fmt::Formatter">Formatter</a>&lt;N, E, W&gt;&gt;, W&gt;</h4></section></summary><div class="docblock"><p>Configures the subscriber being built to allow filter reloading at
runtime.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SubscriberBuilder%3CN,+E,+Layer%3CEnvFilter,+Layered%3CLayer%3CRegistry,+N,+E,+W%3E,+Registry%3E%3E,+W%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#848-857">source</a><a href="#impl-SubscriberBuilder%3CN,+E,+Layer%3CEnvFilter,+Layered%3CLayer%3CRegistry,+N,+E,+W%3E,+Registry%3E%3E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, W&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, <a class="struct" href="../reload/struct.Layer.html" title="struct tracing_subscriber::reload::Layer">Layer</a>&lt;<a class="struct" href="../filter/struct.EnvFilter.html" title="struct tracing_subscriber::filter::EnvFilter">EnvFilter</a>, <a class="type" href="type.Formatter.html" title="type tracing_subscriber::fmt::Formatter">Formatter</a>&lt;N, E, W&gt;&gt;, W&gt;<div class="where">where
<a class="type" href="type.Formatter.html" title="type tracing_subscriber::fmt::Formatter">Formatter</a>&lt;N, E, W&gt;: <a class="trait" href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber">Subscriber</a> + 'static,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.reload_handle" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#854-856">source</a><h4 class="code-header">pub fn <a href="#method.reload_handle" class="fn">reload_handle</a>(&amp;self) -&gt; <a class="struct" href="../reload/struct.Handle.html" title="struct tracing_subscriber::reload::Handle">Handle</a>&lt;<a class="struct" href="../filter/struct.EnvFilter.html" title="struct tracing_subscriber::filter::EnvFilter">EnvFilter</a>, <a class="type" href="type.Formatter.html" title="type tracing_subscriber::fmt::Formatter">Formatter</a>&lt;N, E, W&gt;&gt;</h4></section></summary><div class="docblock"><p>Returns a <code>Handle</code> that may be used to reload the constructed subscribers
filter.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SubscriberBuilder%3CN,+E,+F,+W%3E-1" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#859-1156">source</a><a href="#impl-SubscriberBuilder%3CN,+E,+F,+W%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, F, W&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt_fields" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#880-888">source</a><h4 class="code-header">pub fn <a href="#method.fmt_fields" class="fn">fmt_fields</a>&lt;N2&gt;(self, fmt_fields: N2) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N2, E, F, W&gt;<div class="where">where
N2: for&lt;'writer&gt; <a class="trait" href="trait.FormatFields.html" title="trait tracing_subscriber::fmt::FormatFields">FormatFields</a>&lt;'writer&gt; + 'static,</div></h4></section></summary><div class="docblock"><p>Sets the field formatter that the subscriber being built will use to record
fields.</p>
<p>For example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::fmt::format;
<span class="kw">use </span>tracing_subscriber::prelude::<span class="kw-2">*</span>;
<span class="kw">let </span>formatter =
<span class="comment">// Construct a custom formatter for `Debug` fields
</span>format::debug_fn(|writer, field, value| <span class="macro">write!</span>(writer, <span class="string">"{}: {:?}"</span>, field, value))
<span class="comment">// Use the `tracing_subscriber::MakeFmtExt` trait to wrap the
// formatter so that a delimiter is added between fields.
</span>.delimited(<span class="string">", "</span>);
<span class="kw">let </span>subscriber = tracing_subscriber::fmt()
.fmt_fields(formatter)
.finish();</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_env_filter" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#940-952">source</a><h4 class="code-header">pub fn <a href="#method.with_env_filter" class="fn">with_env_filter</a>(
self,
filter: impl <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../filter/struct.EnvFilter.html" title="struct tracing_subscriber::filter::EnvFilter">EnvFilter</a>&gt;,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, <a class="struct" href="../filter/struct.EnvFilter.html" title="struct tracing_subscriber::filter::EnvFilter">EnvFilter</a>, W&gt;<div class="where">where
<a class="type" href="type.Formatter.html" title="type tracing_subscriber::fmt::Formatter">Formatter</a>&lt;N, E, W&gt;: <a class="trait" href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber">Subscriber</a> + 'static,</div></h4></section></summary><div class="docblock"><p>Sets the <a href="../filter/struct.EnvFilter.html" title="struct tracing_subscriber::filter::EnvFilter"><code>EnvFilter</code></a> that the subscriber will use to determine if
a span or event is enabled.</p>
<p>Note that this method requires the “env-filter” feature flag to be enabled.</p>
<p>If a filter was previously set, or a maximum level was set by the
<a href="struct.SubscriberBuilder.html#method.with_max_level" title="method tracing_subscriber::fmt::SubscriberBuilder::with_max_level"><code>with_max_level</code></a> method, that value is replaced by the new filter.</p>
<h5 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h5>
<p>Setting a filter based on the value of the <code>RUST_LOG</code> environment
variable:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::{fmt, EnvFilter};
fmt()
.with_env_filter(EnvFilter::from_default_env())
.init();</code></pre></div>
<p>Setting a filter based on a pre-set filter directive string:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::fmt;
fmt()
.with_env_filter(<span class="string">"my_crate=info,my_crate::my_mod=debug,[my_span]=trace"</span>)
.init();</code></pre></div>
<p>Adding additional directives to a filter constructed from an env var:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::{fmt, filter::{EnvFilter, LevelFilter}};
<span class="kw">let </span>filter = EnvFilter::try_from_env(<span class="string">"MY_CUSTOM_FILTER_ENV_VAR"</span>)<span class="question-mark">?
</span><span class="comment">// Set the base level when not matched by other directives to WARN.
</span>.add_directive(LevelFilter::WARN.into())
<span class="comment">// Set the max level for `my_crate::my_mod` to DEBUG, overriding
// any directives parsed from the env variable.
</span>.add_directive(<span class="string">"my_crate::my_mod=debug"</span>.parse()<span class="question-mark">?</span>);
fmt()
.with_env_filter(filter)
.try_init()<span class="question-mark">?</span>;</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_max_level" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#983-992">source</a><h4 class="code-header">pub fn <a href="#method.with_max_level" class="fn">with_max_level</a>(
self,
filter: impl <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../filter/struct.LevelFilter.html" title="struct tracing_subscriber::filter::LevelFilter">LevelFilter</a>&gt;,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, <a class="struct" href="../filter/struct.LevelFilter.html" title="struct tracing_subscriber::filter::LevelFilter">LevelFilter</a>, W&gt;</h4></section></summary><div class="docblock"><p>Sets the maximum <a href="../../tracing_core/metadata/struct.Level.html" title="struct tracing_core::metadata::Level">verbosity level</a> that will be enabled by the
subscriber.</p>
<p>If the max level has already been set, or a <a href="../filter/struct.EnvFilter.html" title="struct tracing_subscriber::filter::EnvFilter"><code>EnvFilter</code></a> was added by
<a href="struct.SubscriberBuilder.html#method.with_env_filter" title="method tracing_subscriber::fmt::SubscriberBuilder::with_env_filter"><code>with_env_filter</code></a>, this replaces that configuration with the new
maximum level.</p>
<h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h5>
<p>Enable up to the <code>DEBUG</code> verbosity level:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::fmt;
<span class="kw">use </span>tracing::Level;
fmt()
.with_max_level(Level::DEBUG)
.init();</code></pre></div>
<p>This subscriber wont record any spans or events!</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::{fmt, filter::LevelFilter};
<span class="kw">let </span>subscriber = fmt()
.with_max_level(LevelFilter::OFF)
.finish();</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.event_format" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#1014-1024">source</a><h4 class="code-header">pub fn <a href="#method.event_format" class="fn">event_format</a>&lt;E2&gt;(self, fmt_event: E2) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E2, F, W&gt;<div class="where">where
E2: <a class="trait" href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent">FormatEvent</a>&lt;<a class="struct" href="../registry/struct.Registry.html" title="struct tracing_subscriber::registry::Registry">Registry</a>, N&gt; + 'static,
N: for&lt;'writer&gt; <a class="trait" href="trait.FormatFields.html" title="trait tracing_subscriber::fmt::FormatFields">FormatFields</a>&lt;'writer&gt; + 'static,
W: for&lt;'writer&gt; <a class="trait" href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter">MakeWriter</a>&lt;'writer&gt; + 'static,</div></h4></section></summary><div class="docblock"><p>Sets the <a href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent">event formatter</a> that the subscriber being built
will use to format events that occur.</p>
<p>The event formatter may be any type implementing the <a href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent"><code>FormatEvent</code></a>
trait, which is implemented for all functions taking a <a href="struct.FmtContext.html" title="struct tracing_subscriber::fmt::FmtContext"><code>FmtContext</code></a>, a
<a href="format/struct.Writer.html" title="struct tracing_subscriber::fmt::format::Writer"><code>Writer</code></a>, and an <a href="../../tracing_core/event/struct.Event.html" title="struct tracing_core::event::Event"><code>Event</code></a>.</p>
<h5 id="examples-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</h5>
<p>Setting a type implementing <a href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent"><code>FormatEvent</code></a> as the formatter:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::fmt::format;
<span class="kw">let </span>subscriber = tracing_subscriber::fmt()
.event_format(format().compact())
.finish();</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_writer" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#1040-1048">source</a><h4 class="code-header">pub fn <a href="#method.with_writer" class="fn">with_writer</a>&lt;W2&gt;(self, make_writer: W2) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W2&gt;<div class="where">where
W2: for&lt;'writer&gt; <a class="trait" href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter">MakeWriter</a>&lt;'writer&gt; + 'static,</div></h4></section></summary><div class="docblock"><p>Sets the <a href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter"><code>MakeWriter</code></a> that the subscriber being built will use to write events.</p>
<h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
<p>Using <code>stderr</code> rather than <code>stdout</code>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::fmt;
<span class="kw">use </span>std::io;
fmt()
.with_writer(io::stderr)
.init();</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_test_writer" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#1074-1079">source</a><h4 class="code-header">pub fn <a href="#method.with_test_writer" class="fn">with_test_writer</a>(self) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, <a class="struct" href="struct.TestWriter.html" title="struct tracing_subscriber::fmt::TestWriter">TestWriter</a>&gt;</h4></section></summary><div class="docblock"><p>Configures the subscriber to support <a href="https://doc.rust-lang.org/book/ch11-02-running-tests.html#showing-function-output"><code>libtest</code>s output capturing</a> when used in
unit tests.</p>
<p>See <a href="struct.TestWriter.html" title="struct tracing_subscriber::fmt::TestWriter"><code>TestWriter</code></a> for additional details.</p>
<h5 id="examples-4"><a class="doc-anchor" href="#examples-4">§</a>Examples</h5>
<p>Using <a href="struct.TestWriter.html" title="struct tracing_subscriber::fmt::TestWriter"><code>TestWriter</code></a> to let <code>cargo test</code> capture test output. Note that we do not install it
globally as it may cause conflicts.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::fmt;
<span class="kw">use </span>tracing::subscriber;
subscriber::set_default(
fmt()
.with_test_writer()
.finish()
);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.map_event_format" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#1094-1104">source</a><h4 class="code-header">pub fn <a href="#method.map_event_format" class="fn">map_event_format</a>&lt;E2&gt;(
self,
f: impl <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(E) -&gt; E2,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E2, F, W&gt;<div class="where">where
E2: <a class="trait" href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent">FormatEvent</a>&lt;<a class="struct" href="../registry/struct.Registry.html" title="struct tracing_subscriber::registry::Registry">Registry</a>, N&gt; + 'static,
N: for&lt;'writer&gt; <a class="trait" href="trait.FormatFields.html" title="trait tracing_subscriber::fmt::FormatFields">FormatFields</a>&lt;'writer&gt; + 'static,
W: for&lt;'writer&gt; <a class="trait" href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter">MakeWriter</a>&lt;'writer&gt; + 'static,</div></h4></section></summary><div class="docblock"><p>Updates the event formatter by applying a function to the existing event formatter.</p>
<p>This sets the event formatter that the subscriber being built will use to record fields.</p>
<h5 id="examples-5"><a class="doc-anchor" href="#examples-5">§</a>Examples</h5>
<p>Updating an event formatter:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>subscriber = tracing_subscriber::fmt()
.map_event_format(|e| e.compact())
.finish();</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.map_fmt_fields" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#1120-1128">source</a><h4 class="code-header">pub fn <a href="#method.map_fmt_fields" class="fn">map_fmt_fields</a>&lt;N2&gt;(
self,
f: impl <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(N) -&gt; N2,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N2, E, F, W&gt;<div class="where">where
N2: for&lt;'writer&gt; <a class="trait" href="trait.FormatFields.html" title="trait tracing_subscriber::fmt::FormatFields">FormatFields</a>&lt;'writer&gt; + 'static,</div></h4></section></summary><div class="docblock"><p>Updates the field formatter by applying a function to the existing field formatter.</p>
<p>This sets the field formatter that the subscriber being built will use to record fields.</p>
<h5 id="examples-6"><a class="doc-anchor" href="#examples-6">§</a>Examples</h5>
<p>Updating a field formatter:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::field::MakeExt;
<span class="kw">let </span>subscriber = tracing_subscriber::fmt()
.map_fmt_fields(|f| f.debug_alt())
.finish();</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.map_writer" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#1147-1155">source</a><h4 class="code-header">pub fn <a href="#method.map_writer" class="fn">map_writer</a>&lt;W2&gt;(
self,
f: impl <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(W) -&gt; W2,
) -&gt; <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W2&gt;<div class="where">where
W2: for&lt;'writer&gt; <a class="trait" href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter">MakeWriter</a>&lt;'writer&gt; + 'static,</div></h4></section></summary><div class="docblock"><p>Updates the <a href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter"><code>MakeWriter</code></a> by applying a function to the existing <a href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter"><code>MakeWriter</code></a>.</p>
<p>This sets the <a href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter"><code>MakeWriter</code></a> that the subscriber being built will use to write events.</p>
<h5 id="examples-7"><a class="doc-anchor" href="#examples-7">§</a>Examples</h5>
<p>Redirect output to stderr if level is &lt;= WARN:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing::Level;
<span class="kw">use </span>tracing_subscriber::fmt::{<span class="self">self</span>, writer::MakeWriterExt};
<span class="kw">let </span>stderr = std::io::stderr.with_max_level(Level::WARN);
<span class="kw">let </span>layer = tracing_subscriber::fmt()
.map_writer(<span class="kw">move </span>|w| stderr.or_else(w))
.finish();</code></pre></div>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#245">source</a><a href="#impl-Debug-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, E: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, W: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#245">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.80.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.80.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-SubscriberBuilder" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#464-472">source</a><a href="#impl-Default-for-SubscriberBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#465-471">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.80.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CSubscriberBuilder%3CN,+E,+F,+W%3E%3E-for-Dispatch" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#521-532">source</a><a href="#impl-From%3CSubscriberBuilder%3CN,+E,+F,+W%3E%3E-for-Dispatch" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, F, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;&gt; for <a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a><div class="where">where
N: for&lt;'writer&gt; <a class="trait" href="trait.FormatFields.html" title="trait tracing_subscriber::fmt::FormatFields">FormatFields</a>&lt;'writer&gt; + 'static,
E: <a class="trait" href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent">FormatEvent</a>&lt;<a class="struct" href="../registry/struct.Registry.html" title="struct tracing_subscriber::registry::Registry">Registry</a>, N&gt; + 'static,
W: for&lt;'writer&gt; <a class="trait" href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter">MakeWriter</a>&lt;'writer&gt; + 'static,
F: <a class="trait" href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer">Layer</a>&lt;<a class="type" href="type.Formatter.html" title="type tracing_subscriber::fmt::Formatter">Formatter</a>&lt;N, E, W&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,
<a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;<a class="struct" href="../registry/struct.Registry.html" title="struct tracing_subscriber::registry::Registry">Registry</a>, N, E, W&gt;: <a class="trait" href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer">Layer</a>&lt;<a class="struct" href="../registry/struct.Registry.html" title="struct tracing_subscriber::registry::Registry">Registry</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/mod.rs.html#529-531">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(builder: <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;) -&gt; <a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="impl"><a href="#impl-Freeze-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, F, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,
W: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,
N: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,
E: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="impl"><a href="#impl-RefUnwindSafe-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, F, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
W: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
N: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
E: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="impl"><a href="#impl-Send-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, F, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
W: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
N: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
E: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="impl"><a href="#impl-Sync-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, F, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
W: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
N: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
E: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="impl"><a href="#impl-Unpin-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, F, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
W: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
N: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
E: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="impl"><a href="#impl-UnwindSafe-for-SubscriberBuilder%3CN,+E,+F,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;N, E, F, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.SubscriberBuilder.html" title="struct tracing_subscriber::fmt::SubscriberBuilder">SubscriberBuilder</a>&lt;N, E, F, W&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
W: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
N: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
E: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.80.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.80.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#325">source</a><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#86">source</a><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.instrument" class="fn">instrument</a>(self, span: <a class="struct" href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="../../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided <a href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#128">source</a><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span" class="fn">in_current_span</a>(self) -&gt; <a class="struct" href="../../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="../../tracing/span/struct.Span.html#method.current" title="associated function tracing::span::Span::current">current</a> <a href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SubscriberInitExt-for-T" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/util.rs.html#95">source</a><a href="#impl-SubscriberInitExt-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../util/trait.SubscriberInitExt.html" title="trait tracing_subscriber::util::SubscriberInitExt">SubscriberInitExt</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.set_default" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/util.rs.html#38-43">source</a><a href="#method.set_default" class="anchor">§</a><h4 class="code-header">fn <a href="../util/trait.SubscriberInitExt.html#method.set_default" class="fn">set_default</a>(self) -&gt; <a class="struct" href="../../tracing_core/dispatcher/struct.DefaultGuard.html" title="struct tracing_core::dispatcher::DefaultGuard">DefaultGuard</a></h4></section></summary><div class='docblock'>Sets <code>self</code> as the <a href="https://docs.rs/tracing/0.1.21/tracing/dispatcher/index.html#setting-the-default-subscriber">default subscriber</a> in the current scope, returning a
guard that will unset it when dropped. <a href="../util/trait.SubscriberInitExt.html#method.set_default">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_init-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/util.rs.html#58-74">source</a><a href="#method.try_init-1" class="anchor">§</a><h4 class="code-header">fn <a href="../util/trait.SubscriberInitExt.html#method.try_init" class="fn">try_init</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.unit.html">()</a>, <a class="struct" href="../util/struct.TryInitError.html" title="struct tracing_subscriber::util::TryInitError">TryInitError</a>&gt;</h4></section></summary><div class='docblock'>Attempts to set <code>self</code> as the <a href="https://docs.rs/tracing/0.1.21/tracing/dispatcher/index.html#setting-the-default-subscriber">global default subscriber</a> in the current
scope, returning an error if one is already set. <a href="../util/trait.SubscriberInitExt.html#method.try_init">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.init-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/util.rs.html#89-92">source</a><a href="#method.init-1" class="anchor">§</a><h4 class="code-header">fn <a href="../util/trait.SubscriberInitExt.html#method.init" class="fn">init</a>(self)</h4></section></summary><div class='docblock'>Attempts to set <code>self</code> as the <a href="https://docs.rs/tracing/0.1.21/tracing/dispatcher/index.html#setting-the-default-subscriber">global default subscriber</a> in the current
scope, panicking if this fails. <a href="../util/trait.SubscriberInitExt.html#method.init">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#393">source</a><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#176-178">source</a><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#228">source</a><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fn">with_current_subscriber</a>(self) -&gt; <a class="struct" href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="../../tracing/dispatcher/index.html#setting-the-default-subscriber" title="mod tracing::dispatcher">default</a> <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details></div></section></div></main></body></html>