Struct tracing_subscriber::fmt::time::UtcTime
source · pub struct UtcTime<F> { /* private fields */ }
Expand description
Formats the current UTC time using a formatter from the time
crate.
To format the current local time instead, use the [LocalTime
] type.
Implementations§
source§impl<F: Formattable> UtcTime<F>
impl<F: Formattable> UtcTime<F>
sourcepub fn new(format: F) -> Self
pub fn new(format: F) -> Self
Returns a formatter that formats the current UTC time using the
time
crate, with the provided provided format. The format may be any
type that implements the Formattable
trait.
Typically, the format will be a format description string, or one of the
time
crate’s well-known formats.
If the format description is statically known, then the
format_description!
macro should be used. This is identical to the
time::format_description::parse
method, but runs at compile-time,
failing an error if the format description is invalid. If the desired format
is not known statically (e.g., a user is providing a format string), then the
time::format_description::parse
method should be used. Note that this
method is fallible.
See the time
book for details on the format description syntax.
Examples
Using the format_description!
macro:
use tracing_subscriber::fmt::{self, time::UtcTime};
use time::macros::format_description;
let timer = UtcTime::new(format_description!("[hour]:[minute]:[second]"));
let collector = tracing_subscriber::fmt()
.with_timer(timer);
Using the format_description!
macro requires enabling the time
crate’s “macros” feature flag.
Using time::format_description::parse
:
use tracing_subscriber::fmt::{self, time::UtcTime};
let time_format = time::format_description::parse("[hour]:[minute]:[second]")
.expect("format string should be valid!");
let timer = UtcTime::new(time_format);
let collector = tracing_subscriber::fmt()
.with_timer(timer);
Using a well-known format (this is equivalent to
UtcTime::rfc_3339
):
use tracing_subscriber::fmt::{self, time::UtcTime};
let timer = UtcTime::new(time::format_description::well_known::Rfc3339);
let collector = tracing_subscriber::fmt()
.with_timer(timer);