edlang/tracing_subscriber/fmt/struct.Layer.html
2024-02-13 06:38:44 +00:00

258 lines
83 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="A `Layer` that logs formatted representations of `tracing` events."><title>Layer in tracing_subscriber::fmt - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.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.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><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">&#9776;</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="#">Layer</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.fmt_fields">fmt_fields</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.new">new</a></li><li><a href="#method.pretty">pretty</a></li><li><a href="#method.set_ansi">set_ansi</a></li><li><a href="#method.with_ansi">with_ansi</a></li><li><a href="#method.with_file">with_file</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_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><li><a href="#method.writer">writer</a></li><li><a href="#method.writer_mut">writer_mut</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Layer%3CS,+N,+E,+W%3E">Debug</a></li><li><a href="#impl-Default-for-Layer%3CS%3E">Default</a></li><li><a href="#impl-Layer%3CS%3E-for-Layer%3CS,+N,+E,+W%3E">Layer&lt;S&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Layer%3CS,+N,+E,+W%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Layer%3CS,+N,+E,+W%3E">Send</a></li><li><a href="#impl-Sync-for-Layer%3CS,+N,+E,+W%3E">Sync</a></li><li><a href="#impl-Unpin-for-Layer%3CS,+N,+E,+W%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Layer%3CS,+N,+E,+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-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"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../tracing_subscriber/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><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="#">Layer</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#64-77">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 Layer&lt;S, 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;, W = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.fn.html">fn</a>() -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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>A <a href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer"><code>Layer</code></a> that logs formatted representations of <code>tracing</code> events.</p>
<h3 id="examples"><a href="#examples">Examples</a></h3>
<p>Constructing a layer with the default configuration:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::{fmt, Registry};
<span class="kw">use </span>tracing_subscriber::prelude::<span class="kw-2">*</span>;
<span class="kw">let </span>subscriber = Registry::default()
.with(fmt::Layer::default());
tracing::subscriber::set_global_default(subscriber).unwrap();</code></pre></div>
<p>Overriding the layers behavior:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::{fmt, Registry};
<span class="kw">use </span>tracing_subscriber::prelude::<span class="kw-2">*</span>;
<span class="kw">let </span>fmt_layer = fmt::layer()
.with_target(<span class="bool-val">false</span>) <span class="comment">// don't include event targets when logging
</span>.with_level(<span class="bool-val">false</span>); <span class="comment">// don't include event levels when logging
</span><span class="kw">let </span>subscriber = Registry::default().with(fmt_layer);</code></pre></div>
<p>Setting a custom event formatter:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::fmt::{<span class="self">self</span>, format, time};
<span class="kw">use </span>tracing_subscriber::prelude::<span class="kw-2">*</span>;
<span class="kw">let </span>fmt = format().with_timer(time::Uptime::default());
<span class="kw">let </span>fmt_layer = fmt::layer()
.event_format(fmt)
.with_target(<span class="bool-val">false</span>);</code></pre></div>
</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-Layer%3CS%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#79-84">source</a><a href="#impl-Layer%3CS%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#81-83">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>() -&gt; Self</h4></section></summary><div class="docblock"><p>Returns a new <a href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer"><code>Layer</code></a> with the default configuration.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Layer%3CS,+N,+E,+W%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#87-159">source</a><a href="#impl-Layer%3CS,+N,+E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, E, W&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, W&gt;<div class="where">where
S: <a class="trait" href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber">Subscriber</a> + for&lt;'a&gt; <a class="trait" href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan">LookupSpan</a>&lt;'a&gt;,
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></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.event_format" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#115-128">source</a><h4 class="code-header">pub fn <a href="#method.event_format" class="fn">event_format</a>&lt;E2&gt;(self, e: E2) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E2, W&gt;<div class="where">where
E2: <a class="trait" href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent">FormatEvent</a>&lt;S, N&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 layer being built will
use to format events.</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-1"><a href="#examples-1">Examples</a></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::{<span class="self">self</span>, format};
<span class="kw">let </span>layer = fmt::layer()
.event_format(format().compact());</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/fmt_layer.rs.html#145-158">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.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(E) -&gt; E2) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E2, W&gt;<div class="where">where
E2: <a class="trait" href="trait.FormatEvent.html" title="trait tracing_subscriber::fmt::FormatEvent">FormatEvent</a>&lt;S, N&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 layer being built will use to record fields.</p>
<h5 id="examples-2"><a href="#examples-2">Examples</a></h5>
<p>Updating an event formatter:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>layer = tracing_subscriber::fmt::layer()
.map_event_format(|e| e.compact());</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Layer%3CS,+N,+E,+W%3E-1" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#162-373">source</a><a href="#impl-Layer%3CS,+N,+E,+W%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, E, W&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, W&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_writer" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#179-192">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.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, 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 layer being built will use to write events.</p>
<h5 id="examples-3"><a href="#examples-3">Examples</a></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>std::io;
<span class="kw">use </span>tracing_subscriber::fmt;
<span class="kw">let </span>layer = fmt::layer()
.with_writer(io::stderr);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.writer" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#197-199">source</a><h4 class="code-header">pub fn <a href="#method.writer" class="fn">writer</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;W</a></h4></section></summary><div class="docblock"><p>Borrows the <a href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter">writer</a> for this <a href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer"><code>Layer</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.writer_mut" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#228-230">source</a><h4 class="code-header">pub fn <a href="#method.writer_mut" class="fn">writer_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut W</a></h4></section></summary><div class="docblock"><p>Mutably borrows the <a href="trait.MakeWriter.html" title="trait tracing_subscriber::fmt::MakeWriter">writer</a> for this <a href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer"><code>Layer</code></a>.</p>
<p>This method is primarily expected to be used with the
<a href="../reload/struct.Handle.html#method.modify" title="method tracing_subscriber::reload::Handle::modify"><code>reload::Handle::modify</code></a> method.</p>
<h5 id="examples-4"><a href="#examples-4">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>layer = fmt::layer().with_writer(non_blocking(std::io::stderr()));
<span class="kw">let </span>(layer, reload_handle) = reload::Layer::new(layer);
<span class="macro">info!</span>(<span class="string">"This will be logged to stderr"</span>);
reload_handle.modify(|layer| <span class="kw-2">*</span>layer.writer_mut() = non_blocking(std::io::stdout()));
<span class="macro">info!</span>(<span class="string">"This will be logged to stdout"</span>);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_ansi" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#240-242">source</a><h4 class="code-header">pub fn <a href="#method.set_ansi" class="fn">set_ansi</a>(&amp;mut self, ansi: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docblock"><p>Sets whether this layer should use ANSI terminal formatting
escape codes (such as colors).</p>
<p>This method is primarily expected to be used with the
<a href="../reload/struct.Handle.html#method.modify" title="method tracing_subscriber::reload::Handle::modify"><code>reload::Handle::modify</code></a> method when changing
the writer.</p>
</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/fmt_layer.rs.html#266-276">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.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, <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 layer 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-5"><a href="#examples-5">Examples</a></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:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::io;
<span class="kw">use </span>tracing_subscriber::fmt;
<span class="kw">let </span>layer = fmt::layer()
.with_test_writer();</code></pre></div>
</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/fmt_layer.rs.html#305-320">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.76.0/std/primitive.bool.html">bool</a>) -&gt; Self</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>When the “ansi” crate feature flag is enabled, ANSI colors are enabled
by default unless the <a href="https://no-color.org/"><code>NO_COLOR</code></a> environment variable is set to
a non-empty value. If the <a href="https://no-color.org/"><code>NO_COLOR</code></a> environment variable is set to
any non-empty value, then ANSI colors will be suppressed by default.
The <a href="Subscriber::with_ansi"><code>with_ansi</code></a> and <a href="Subscriber::set_ansi"><code>set_ansi</code></a> methods can be used to forcibly
enable ANSI colors, overriding any <a href="https://no-color.org/"><code>NO_COLOR</code></a> environment variable.</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/fmt_layer.rs.html#333-338">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.76.0/std/primitive.bool.html">bool</a>) -&gt; Self</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.map_writer" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#359-372">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.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(W) -&gt; W2) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, 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 layer being built will use to write events.</p>
<h5 id="examples-6"><a href="#examples-6">Examples</a></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 = fmt::layer()
.map_writer(<span class="kw">move </span>|w| stderr.or_else(w));</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Layer%3CS,+N,+Format%3CL,+T%3E,+W%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#375-592">source</a><a href="#impl-Layer%3CS,+N,+Format%3CL,+T%3E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, L, T, W&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, 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/fmt_layer.rs.html#393-403">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.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T2&gt;, 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 span and event 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="super::time::UtcTime"><code>UtcTime</code></a> and <a href="super::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/fmt_layer.rs.html#406-416">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.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, 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.76.0/std/primitive.unit.html">()</a>&gt;, W&gt;</h4></section></summary><div class="docblock"><p>Do not emit timestamps with spans and event.</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/fmt_layer.rs.html#459-464">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.Layer.html#method.without_time" title="method tracing_subscriber::fmt::Layer::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>: Events 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;
<span class="kw">use </span>tracing_subscriber::fmt::format::FmtSpan;
<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_target" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#467-472">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.76.0/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, 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/fmt_layer.rs.html#477-482">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.76.0/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, 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/fmt_layer.rs.html#488-496">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.76.0/std/primitive.bool.html">bool</a>
) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, 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/fmt_layer.rs.html#499-504">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.76.0/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, 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_ids" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#510-515">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.76.0/std/primitive.bool.html">bool</a>
) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether or not the <a href="https://doc.rust-lang.org/1.76.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.with_thread_names" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#521-529">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.76.0/std/primitive.bool.html">bool</a>
) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, <a class="struct" href="format/struct.Format.html" title="struct tracing_subscriber::fmt::format::Format">Format</a>&lt;L, T&gt;, W&gt;</h4></section></summary><div class="docblock"><p>Sets whether or not the <a href="https://doc.rust-lang.org/1.76.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.compact" class="method"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#532-545">source</a><h4 class="code-header">pub fn <a href="#method.compact" class="fn">compact</a>(self) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, 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;, 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 layer being built to use a <a href="format/struct.Compact.html" title="struct tracing_subscriber::fmt::format::Compact">less verbose formatter</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/fmt_layer.rs.html#550-560">source</a><h4 class="code-header">pub fn <a href="#method.pretty" class="fn">pretty</a>(self) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, <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;, W&gt;</h4></section></summary><div class="docblock"><p>Sets the layer 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-Layer%3CS,+N,+E,+W%3E-2" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#642-690">source</a><a href="#impl-Layer%3CS,+N,+E,+W%3E-2" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, E, W&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, 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/fmt_layer.rs.html#645-658">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.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N2, E, 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 layer being built will use to record
fields.</p>
</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/fmt_layer.rs.html#676-689">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.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(N) -&gt; N2) -&gt; <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N2, E, 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 layer being built will use to record fields.</p>
<h5 id="examples-7"><a href="#examples-7">Examples</a></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>layer = tracing_subscriber::fmt::layer()
.map_fmt_fields(|f| f.debug_alt());</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-Layer%3CS,+N,+E,+W%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#63">source</a><a href="#impl-Debug-for-Layer%3CS,+N,+E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, N: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, W: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, 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/fmt_layer.rs.html#63">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.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.76.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.76.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.76.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-Layer%3CS%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#692-708">source</a><a href="#impl-Default-for-Layer%3CS%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S&gt;</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/fmt_layer.rs.html#693-707">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.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.76.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-Layer%3CS%3E-for-Layer%3CS,+N,+E,+W%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#804-1008">source</a><a href="#impl-Layer%3CS%3E-for-Layer%3CS,+N,+E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, E, W&gt; <a class="trait" href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer">Layer</a>&lt;S&gt; for <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, W&gt;<div class="where">where
S: <a class="trait" href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber">Subscriber</a> + for&lt;'a&gt; <a class="trait" href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan">LookupSpan</a>&lt;'a&gt;,
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;S, 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,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.on_new_span" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#811-846">source</a><a href="#method.on_new_span" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_new_span" class="fn">on_new_span</a>(&amp;self, attrs: &amp;<a class="struct" href="../../tracing_core/span/struct.Attributes.html" title="struct tracing_core::span::Attributes">Attributes</a>&lt;'_&gt;, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a new span was constructed with the given
<code>Attributes</code> and <code>Id</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_record" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#848-865">source</a><a href="#method.on_record" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_record" class="fn">on_record</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, values: &amp;<a class="struct" href="../../tracing_core/span/struct.Record.html" title="struct tracing_core::span::Record">Record</a>&lt;'_&gt;, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a span with the given <code>Id</code> recorded the given
<code>values</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_enter" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#867-885">source</a><a href="#method.on_enter" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_enter" class="fn">on_enter</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a span with the given ID was entered.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_exit" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#887-905">source</a><a href="#method.on_exit" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_exit" class="fn">on_exit</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that the span with the given ID was exited.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_close" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#907-942">source</a><a href="#method.on_close" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_close" class="fn">on_close</a>(&amp;self, id: <a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that the span with the given ID has been closed.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_event" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/fmt/fmt_layer.rs.html#944-993">source</a><a href="#method.on_event" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_event" class="fn">on_event</a>(&amp;self, event: &amp;<a class="struct" href="../../tracing_core/event/struct.Event.html" title="struct tracing_core::event::Event">Event</a>&lt;'_&gt;, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that an event has occurred.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_register_dispatch" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#753-755">source</a><a href="#method.on_register_dispatch" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_register_dispatch" class="fn">on_register_dispatch</a>(&amp;self, subscriber: &amp;<a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>)</h4></section></summary><div class='docblock'>Performs late initialization when installing this layer as a
<a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a>. <a href="../layer/trait.Layer.html#method.on_register_dispatch">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_layer" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#784-786">source</a><a href="#method.on_layer" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_layer" class="fn">on_layer</a>(&amp;mut self, subscriber: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Performs late initialization when attaching a <code>Layer</code> to a
<a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a>. <a href="../layer/trait.Layer.html#method.on_layer">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.register_callsite" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#828-834">source</a><a href="#method.register_callsite" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.register_callsite" class="fn">register_callsite</a>(&amp;self, metadata: &amp;'static <a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'static&gt;) -&gt; <a class="struct" href="../../tracing_core/subscriber/struct.Interest.html" title="struct tracing_core::subscriber::Interest">Interest</a></h4></section></summary><div class='docblock'>Registers a new callsite with this layer, returning whether or not
the layer is interested in being notified about the callsite, similarly
to <a href="../../tracing_core/subscriber/trait.Subscriber.html#method.register_callsite" title="method tracing_core::subscriber::Subscriber::register_callsite"><code>Subscriber::register_callsite</code></a>. <a href="../layer/trait.Layer.html#method.register_callsite">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.enabled" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#868-871">source</a><a href="#method.enabled" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.enabled" class="fn">enabled</a>(&amp;self, metadata: &amp;<a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'_&gt;, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns <code>true</code> if this layer is interested in a span or event with the
given <code>metadata</code> in the current <a href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context"><code>Context</code></a>, similarly to
<a href="../../tracing_core/subscriber/trait.Subscriber.html#tymethod.enabled" title="method tracing_core::subscriber::Subscriber::enabled"><code>Subscriber::enabled</code></a>. <a href="../layer/trait.Layer.html#method.enabled">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_follows_from" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#899">source</a><a href="#method.on_follows_from" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_follows_from" class="fn">on_follows_from</a>(&amp;self, _span: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _follows: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a span with the ID <code>span</code> recorded that it
follows from the span with the ID <code>follows</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.event_enabled" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#922-924">source</a><a href="#method.event_enabled" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.event_enabled" class="fn">event_enabled</a>(&amp;self, _event: &amp;<a class="struct" href="../../tracing_core/event/struct.Event.html" title="struct tracing_core::event::Event">Event</a>&lt;'_&gt;, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Called before <a href="../layer/trait.Layer.html#method.on_event"><code>on_event</code></a>, to determine if <code>on_event</code> should be called.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_id_change" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#940">source</a><a href="#method.on_id_change" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_id_change" class="fn">on_id_change</a>(&amp;self, _old: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _new: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a span ID has been cloned, and that the
subscriber returned a different ID.</div></details><details class="toggle method-toggle" open><summary><section id="method.and_then" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1039-1046">source</a><a href="#method.and_then" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.and_then" class="fn">and_then</a>&lt;L&gt;(self, layer: L) -&gt; <a class="struct" href="../layer/struct.Layered.html" title="struct tracing_subscriber::layer::Layered">Layered</a>&lt;L, Self, S&gt;<div class="where">where
L: <a class="trait" href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer">Layer</a>&lt;S&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Composes this layer around the given <code>Layer</code>, returning a <code>Layered</code>
struct implementing <code>Layer</code>. <a href="../layer/trait.Layer.html#method.and_then">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1091-1098">source</a><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.with_subscriber" class="fn">with_subscriber</a>(self, inner: S) -&gt; <a class="struct" href="../layer/struct.Layered.html" title="struct tracing_subscriber::layer::Layered">Layered</a>&lt;Self, S&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Composes this <code>Layer</code> with the given <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a>, returning a
<code>Layered</code> struct that implements <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a>. <a href="../layer/trait.Layer.html#method.with_subscriber">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_filter" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1110-1116">source</a><a href="#method.with_filter" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.with_filter" class="fn">with_filter</a>&lt;F&gt;(self, filter: F) -&gt; <a class="struct" href="../filter/struct.Filtered.html" title="struct tracing_subscriber::filter::Filtered">Filtered</a>&lt;Self, F, S&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter">Filter</a>&lt;S&gt;,</div></h4></section></summary><div class='docblock'>Combines <code>self</code> with a <a href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter"><code>Filter</code></a>, returning a <a href="../filter/struct.Filtered.html" title="struct tracing_subscriber::filter::Filtered"><code>Filtered</code></a> layer. <a href="../layer/trait.Layer.html#method.with_filter">Read more</a></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-RefUnwindSafe-for-Layer%3CS,+N,+E,+W%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Layer%3CS,+N,+E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, E, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, W&gt;<div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.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.76.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.76.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-Layer%3CS,+N,+E,+W%3E" class="impl"><a href="#impl-Send-for-Layer%3CS,+N,+E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, E, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, W&gt;<div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
N: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
W: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-Layer%3CS,+N,+E,+W%3E" class="impl"><a href="#impl-Sync-for-Layer%3CS,+N,+E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, E, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, W&gt;<div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
N: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
W: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-Layer%3CS,+N,+E,+W%3E" class="impl"><a href="#impl-Unpin-for-Layer%3CS,+N,+E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, E, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, W&gt;<div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
N: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
W: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-Layer%3CS,+N,+E,+W%3E" class="impl"><a href="#impl-UnwindSafe-for-Layer%3CS,+N,+E,+W%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, N, E, W&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Layer.html" title="struct tracing_subscriber::fmt::Layer">Layer</a>&lt;S, N, E, W&gt;<div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.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.76.0/src/core/convert/mod.rs.html#763">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.76.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" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#747-749">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.76.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.76.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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.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.76.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-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">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.76.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.76.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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.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.76.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.76.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.76.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.76.0/src/core/convert/mod.rs.html#788-790">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.76.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.76.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.76.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.76.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.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.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.76.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.76.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.76.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-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#176-178">source</a><a href="#method.with_subscriber-1" 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.76.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>