๐Ÿ›ˆ Note: This is pre-release documentation for the upcoming tracing 0.2.0 ecosystem.

For the release documentation, please see docs.rs, instead.

Struct Format

Source
pub struct Format<F = Full, T = SystemTime> { /* private fields */ }
Available on crate features fmt and std only.
Expand description

A pre-configured event formatter.

You will usually want to use this as the FormatEvent for a FmtSubscriber.

The default logging format, Full includes all fields in each event and its containing spans. The Compact logging format is intended to produce shorter log lines; it displays each eventโ€™s fields, along with fields from the current span context, but other information is abbreviated. The Pretty logging format is an extra-verbose, multi-line human-readable logging format intended for use in development.

Implementationsยง

Sourceยง

impl<F, T> Format<F, T>

Source

pub fn compact(self) -> Format<Compact, T>

Use a less verbose output format.

See Compact.

Source

pub fn pretty(self) -> Format<Pretty, T>

Available on crate feature ansi only.

Use an excessively pretty, human-readable output format.

See Pretty.

Note that this requires the โ€œansiโ€ feature to be enabled.

ยงOptions

Format::with_ansi can be used to disable ANSI terminal escape codes (which enable formatting such as colors, bold, italic, etc) in event formatting. However, a field formatter must be manually provided to avoid ANSI in the formatting of parent spans, like so:

tracing_subscriber::fmt()
   .pretty()
   .with_ansi(false)
   .fmt_fields(format::PrettyFields::new().with_ansi(false))
   // ... other settings ...
   .init();
Source

pub fn json(self) -> Format<Json, T>

Available on crate feature json only.

Use the full JSON format.

The full format includes fields from all entered spans.

ยงExample Output
โ“˜
{"timestamp":"Feb 20 11:28:15.096","level":"INFO","target":"mycrate","fields":{"message":"some message", "key": "value"}}
ยงOptions
Source

pub fn with_timer<T2>(self, timer: T2) -> Format<F, T2>

Use the given timer for log message timestamps.

See time module for the provided timer implementations.

Note that using the "time" feature flag enables the additional time formatters UtcTime and LocalTime, which use the time crate to provide more sophisticated timestamp formatting options.

Source

pub fn without_time(self) -> Format<F, ()>

Do not emit timestamps with log messages.

Source

pub fn with_ansi(self, ansi: bool) -> Format<F, T>

Enable ANSI terminal colors for formatted output.

Source

pub fn with_target(self, display_target: bool) -> Format<F, T>

Sets whether or not an eventโ€™s target is displayed.

Source

pub fn with_level(self, display_level: bool) -> Format<F, T>

Sets whether or not an eventโ€™s level is displayed.

Source

pub fn with_thread_ids(self, display_thread_id: bool) -> Format<F, T>

Sets whether or not the thread ID of the current thread is displayed when formatting events.

Source

pub fn with_thread_names(self, display_thread_name: bool) -> Format<F, T>

Sets whether or not the name of the current thread is displayed when formatting events.

Source

pub fn with_file(self, display_filename: bool) -> Format<F, T>

Sets whether or not an eventโ€™s source code file path is displayed.

Source

pub fn with_line_number(self, display_line_number: bool) -> Format<F, T>

Sets whether or not an eventโ€™s source code line number is displayed.

Source

pub fn with_source_location(self, display_location: bool) -> Self

Sets whether or not the source code location from which an event originated is displayed.

This is equivalent to calling Format::with_file and Format::with_line_number with the same value.

Sourceยง

impl<T> Format<Json, T>

Source

pub fn flatten_event(self, flatten_event: bool) -> Format<Json, T>

Available on crate feature json only.

Use the full JSON format with the eventโ€™s event fields flattened.

ยงExample Output
โ“˜
{"timestamp":"Feb 20 11:28:15.096","level":"INFO","target":"mycrate", "message":"some message", "key": "value"}

See Json

Source

pub fn with_current_span(self, display_current_span: bool) -> Format<Json, T>

Available on crate feature json only.

Sets whether or not the formatter will include the current span in formatted events.

See Json

Source

pub fn with_span_list(self, display_span_list: bool) -> Format<Json, T>

Available on crate feature json only.

Sets whether or not the formatter will include a list (from root to leaf) of all currently entered spans in formatted events.

See Json

Trait Implementationsยง

Sourceยง

impl<F: Clone, T: Clone> Clone for Format<F, T>

Sourceยง

fn clone(&self) -> Format<F, T>

Returns a duplicate of the value. Read more
1.0.0 ยท Sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Sourceยง

impl<F: Debug, T: Debug> Debug for Format<F, T>

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Sourceยง

impl Default for Format<Full, SystemTime>

Sourceยง

fn default() -> Self

Returns the โ€œdefault valueโ€ for a type. Read more
Sourceยง

impl<C, N, T> FormatEvent<C, N> for Format<Compact, T>
where C: Collect + for<'a> LookupSpan<'a>, N: for<'a> FormatFields<'a> + 'static, T: FormatTime,

Sourceยง

fn format_event( &self, ctx: &FmtContext<'_, C, N>, writer: Writer<'_>, event: &Event<'_>, ) -> Result

Write a log message for Event in Context to the given Writer.
Sourceยง

impl<C, N, T> FormatEvent<C, N> for Format<Full, T>
where C: Collect + for<'a> LookupSpan<'a>, N: for<'a> FormatFields<'a> + 'static, T: FormatTime,

Sourceยง

fn format_event( &self, ctx: &FmtContext<'_, C, N>, writer: Writer<'_>, event: &Event<'_>, ) -> Result

Write a log message for Event in Context to the given Writer.
Sourceยง

impl<C, N, T> FormatEvent<C, N> for Format<Json, T>
where C: Collect + for<'lookup> LookupSpan<'lookup>, N: for<'writer> FormatFields<'writer> + 'static, T: FormatTime,

Sourceยง

fn format_event( &self, ctx: &FmtContext<'_, C, N>, writer: Writer<'_>, event: &Event<'_>, ) -> Result
where C: Collect + for<'a> LookupSpan<'a>,

Write a log message for Event in Context to the given Writer.
Sourceยง

impl<C, N, T> FormatEvent<C, N> for Format<Pretty, T>
where C: Collect + for<'a> LookupSpan<'a>, N: for<'a> FormatFields<'a> + 'static, T: FormatTime,

Sourceยง

fn format_event( &self, ctx: &FmtContext<'_, C, N>, writer: Writer<'_>, event: &Event<'_>, ) -> Result

Write a log message for Event in Context to the given Writer.

Auto Trait Implementationsยง

ยง

impl<F, T> Freeze for Format<F, T>
where F: Freeze, T: Freeze,

ยง

impl<F, T> RefUnwindSafe for Format<F, T>

ยง

impl<F, T> Send for Format<F, T>
where F: Send, T: Send,

ยง

impl<F, T> Sync for Format<F, T>
where F: Sync, T: Sync,

ยง

impl<F, T> Unpin for Format<F, T>
where F: Unpin, T: Unpin,

ยง

impl<F, T> UnwindSafe for Format<F, T>
where F: UnwindSafe, T: UnwindSafe,

Blanket Implementationsยง

Sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Sourceยง

impl<T> CloneToUninit for T
where T: Clone,

Sourceยง

unsafe fn clone_to_uninit(&self, dest: *mut u8)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dest. Read more
Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

Sourceยง

impl<T> Instrument for T

Sourceยง

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Sourceยง

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<T> ToOwned for T
where T: Clone,

Sourceยง

type Owned = T

The resulting type after obtaining ownership.
Sourceยง

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Sourceยง

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Sourceยง

impl<T> WithCollector for T

Sourceยง

fn with_collector<C>(self, collector: C) -> WithDispatch<Self>
where C: Into<Dispatch>,

Attaches the provided collector to this type, returning a WithDispatch wrapper. Read more
Sourceยง

fn with_current_collector(self) -> WithDispatch<Self>

Attaches the current default collector to this type, returning a WithDispatch wrapper. Read more