Enum flexi_logger::Naming

source ·
pub enum Naming {
    Timestamps,
    TimestampsDirect,
    TimestampsCustomFormat {
        current_infix: Option<&'static str>,
        format: &'static str,
    },
    Numbers,
    NumbersDirect,
}
Expand description

The naming convention for rotated log files.

Common rule for all variants is that the names of the current output file and the rotated log files only differ in the infix.

See Logger::log_to_file for a description of how the filename is built, including the infix.

See the variants for how the infix is used by them.

Used in Logger::rotate.

Variants§

§

Timestamps

Logs are written to a file with infix rCURRENT.

File rotation renames this file to a name with a timestamp-infix like "r2023-01-27_14-41-08", logging continues with a fresh file with infix rCURRENT.

If multiple rotations happen within the same second, extended infixes are used like "r2023-01-27_14-41-08.restart-0001".

Same as

Naming::TimestampsCustomFormat {
   current_infix: Some("rCURRENT"),
    format: "r%Y-%m-%d_%H-%M-%S",
}
§

TimestampsDirect

Logs are written to a file with a timestamp-infix, like "r2023-01-27_14-41-08".

File rotation switches over to the next file.

If multiple rotations happen within the same second, extended infixes are used like "r2023-01-27_14-41-08.restart-0001".

Same as

Naming::TimestampsCustomFormat {
   current_infix: None,
    format: "r%Y-%m-%d_%H-%M-%S",
}
§

TimestampsCustomFormat

Defines the infixes for the file to which the logs are written, and for the rotated files.

Fields

§current_infix: Option<&'static str>

Controls if a special infix is used for the file to which the logs are currently written.

If Some(infix) is given, then it is taken as static infix for the file to which the logs are written. File rotation renames this file to a file with a timestamp infix. If this file already exists, an extended infix is used like "2024-06-09.restart-0001".

If None is given, then the logs will be directly written to a file with timestamp infix. File rotation only switches over to a new file with a fresh timestamp infix. If this file already exists, e.g. because rotation is triggered more frequently than the timestamp varies (according to the pattern), then an extended infix is used like "2024-06-09.restart-0001".

§format: &'static str

The format of the timestamp infix.

See https://docs.rs/chrono/latest/chrono/format/strftime/index.html for a list of supported specifiers.

Make sure you use a format that is compatible to your file system(s).

Examples:

"%Y-%m-%d" produces timestamp infixes like "2024-06-09".

"%Y-%m-%d_%H-%M-%S" produces timestamp infixes like "2024-06-09_13-24-35".

§

Numbers

Logs are written to a file with infix rCURRENT.

File rotation renames this file to a name with a number-infix like "r00000", "r00001", etc., logging continues with a fresh file with infix rCURRENT.

§

NumbersDirect

Logs are written to a file with a number-infix, like "r00000", "r00001", etc.

File rotation switches over to the next file.

Trait Implementations§

source§

impl Clone for Naming

source§

fn clone(&self) -> Naming

Returns a copy 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 Debug for Naming

source§

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

Formats the value using the given formatter. Read more
source§

impl Copy for Naming

Auto Trait Implementations§

§

impl Freeze for Naming

§

impl RefUnwindSafe for Naming

§

impl Send for Naming

§

impl Sync for Naming

§

impl Unpin for Naming

§

impl UnwindSafe for Naming

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> 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,

§

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>,

§

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>,

§

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> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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