pub struct UtcTime<F> { /* private fields */ }
fmt
and std
and time
only.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 subscriber = 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 subscriber = 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 subscriber = tracing_subscriber::fmt()
.with_timer(timer);