edlang/tracing_log/trait.NormalizeEvent.html
2024-07-26 09:42:18 +00:00

23 lines
9.2 KiB
HTML
Raw Permalink 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="Extends log `Event`s to provide complete `Metadata`."><title>NormalizeEvent in tracing_log - 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_log" 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 trait"><!--[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_log/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_log/index.html"><img src="https://raw.githubusercontent.com/tokio-rs/tracing/master/assets/logo-type.png" alt="logo"></a><h2><a href="../tracing_log/index.html">tracing_log</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">NormalizeEvent</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.is_log">is_log</a></li><li><a href="#tymethod.normalized_metadata">normalized_metadata</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-NormalizeEvent%3C'a%3E-for-Event%3C'a%3E">Event&lt;&#x27;a&gt;</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In crate tracing_log</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>Trait <a href="index.html">tracing_log</a>::<wbr><a class="trait" href="#">NormalizeEvent</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_log/lib.rs.html#455-464">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait NormalizeEvent&lt;'a&gt;: Sealed {
// Required methods
fn <a href="#tymethod.normalized_metadata" class="fn">normalized_metadata</a>(&amp;'a self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'a&gt;&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.is_log" class="fn">is_log</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Extends log <code>Event</code>s to provide complete <code>Metadata</code>.</p>
<p>In <code>tracing-log</code>, an <code>Event</code> produced by a log (through <a href="trait.AsTrace.html" title="trait tracing_log::AsTrace"><code>AsTrace</code></a>) has an hard coded
“log” target and no <code>file</code>, <code>line</code>, or <code>module_path</code> attributes. This happens because <code>Event</code>
requires its <code>Metadata</code> to be <code>'static</code>, while <a href="../log/struct.Record.html" title="struct log::Record"><code>log::Record</code></a>s provide them with a generic
lifetime.</p>
<p>However, these values are stored in the <code>Event</code>s fields and
the <a href="trait.NormalizeEvent.html#normalized_metadata" title="trait tracing_log::NormalizeEvent"><code>normalized_metadata</code></a> method allows to build a new <code>Metadata</code>
that only lives as long as its source <code>Event</code>, but provides complete
data.</p>
<p>It can typically be used by <code>Subscriber</code>s when processing an <code>Event</code>,
to allow accessing its complete metadata in a consistent way,
regardless of the source of its source.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.normalized_metadata" class="method"><a class="src rightside" href="../src/tracing_log/lib.rs.html#461">source</a><h4 class="code-header">fn <a href="#tymethod.normalized_metadata" class="fn">normalized_metadata</a>(&amp;'a self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'a&gt;&gt;</h4></section></summary><div class="docblock"><p>If this <code>Event</code> comes from a <code>log</code>, this method provides a new
normalized <code>Metadata</code> which has all available attributes
from the original log, including <code>file</code>, <code>line</code>, <code>module_path</code>
and <code>target</code>.
Returns <code>None</code> is the <code>Event</code> is not issued from a <code>log</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.is_log" class="method"><a class="src rightside" href="../src/tracing_log/lib.rs.html#463">source</a><h4 class="code-header">fn <a href="#tymethod.is_log" class="fn">is_log</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether this <code>Event</code> represents a log (from the <code>log</code> crate)</p>
</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-NormalizeEvent%3C'a%3E-for-Event%3C'a%3E" class="impl"><a class="src rightside" href="../src/tracing_log/lib.rs.html#468-493">source</a><a href="#impl-NormalizeEvent%3C'a%3E-for-Event%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="trait.NormalizeEvent.html" title="trait tracing_log::NormalizeEvent">NormalizeEvent</a>&lt;'a&gt; for <a class="struct" href="../tracing_core/event/struct.Event.html" title="struct tracing_core::event::Event">Event</a>&lt;'a&gt;</h3></section></summary><div class="impl-items"><section id="method.normalized_metadata" class="method trait-impl"><a class="src rightside" href="../src/tracing_log/lib.rs.html#469-488">source</a><a href="#method.normalized_metadata" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.normalized_metadata" class="fn">normalized_metadata</a>(&amp;'a self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'a&gt;&gt;</h4></section><section id="method.is_log" class="method trait-impl"><a class="src rightside" href="../src/tracing_log/lib.rs.html#490-492">source</a><a href="#method.is_log" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.is_log" class="fn">is_log</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/tracing_log/trait.NormalizeEvent.js" data-ignore-extern-crates="tracing_core" async></script></section></div></main></body></html>