pub struct LocalTime<F> { /* private fields */ }fmt and crate feature std and unsound_local_offset and crate feature local-time only.Expand description
Formats the current local time using a formatter from the time crate.
To format the current UTC time instead, use the UtcTime type.
Warning: The time
crate must be compiled with --cfg unsound_local_offset in order to use
local timestamps. When this cfg is not enabled, local timestamps cannot be recorded, and
events will be logged without timestamps.
Alternatively, OffsetTime can log with a local offset if it is initialized early.
See the time
documentation for more details.
Implementations§
Source§impl<F: Formattable> LocalTime<F>
impl<F: Formattable> LocalTime<F>
Sourcepub fn new(format: F) -> Self
pub fn new(format: F) -> Self
Returns a formatter that formats the current local time using the
time crate with the provided provided format. The format may be any
type that implements the Formattable trait.
Warning: The
time crate must be compiled with --cfg
unsound_local_offset in order to use local timestamps. When this
cfg is not enabled, local timestamps cannot be recorded, and
events will be logged without timestamps.
See the
time documentation for more details.
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,
throwing 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 better_tracing::fmt::{self, time::LocalTime};
use time::macros::format_description;
let timer = LocalTime::new(format_description!("[hour]:[minute]:[second]"));
let subscriber = better_tracing::fmt()
.with_timer(timer);Using time::format_description::parse:
use better_tracing::fmt::{self, time::LocalTime};
let time_format = time::format_description::parse("[hour]:[minute]:[second]")
.expect("format string should be valid!");
let timer = LocalTime::new(time_format);
let subscriber = better_tracing::fmt()
.with_timer(timer);Using the format_description! macro requires enabling the time
crate’s “macros” feature flag.
Using a well-known format (this is equivalent to
LocalTime::rfc_3339):
use better_tracing::fmt::{self, time::LocalTime};
let timer = LocalTime::new(time::format_description::well_known::Rfc3339);
let subscriber = better_tracing::fmt()
.with_timer(timer);Source§impl LocalTime<Vec<FormatItem<'static>>>
impl LocalTime<Vec<FormatItem<'static>>>
Sourcepub fn time_only_secs() -> Self
pub fn time_only_secs() -> Self
Time-of-day with whole seconds, no suffix: HH:MM:SS
Sourcepub fn time_only_millis() -> Self
pub fn time_only_millis() -> Self
Time-of-day with milliseconds, no suffix: HH:MM:SS.mmm
Sourcepub fn time_only_micros() -> Self
pub fn time_only_micros() -> Self
Time-of-day with microseconds, no suffix: HH:MM:SS.uuuuuu