Struct otter_nodejs_tests::otter_support::crates::flexi_logger::FileSpec
[−]pub struct FileSpec { /* private fields */ }
Expand description
Builder object for specifying the name and path of the log output file.
assert_eq!(
FileSpec::default()
.directory("/a/b/c")
.basename("foo")
.suppress_timestamp()
.suffix("bar"),
FileSpec::try_from("/a/b/c/foo.bar").unwrap()
);
Implementations
impl FileSpec
impl FileSpec
pub fn try_from<P>(p: P) -> Result<FileSpec, FlexiLoggerError> where
P: Into<PathBuf>,
pub fn try_from<P>(p: P) -> Result<FileSpec, FlexiLoggerError> where
P: Into<PathBuf>,
The provided path should describe a log file. If it exists, it must be a file, not a folder. If necessary, parent folders will be created.
Errors
FlexiLoggerError::OutputBadFile
if the given path exists and is a folder.
Panics
Panics if the basename of the given path has no filename
pub fn basename<S>(self, basename: S) -> FileSpec where
S: Into<String>,
pub fn basename<S>(self, basename: S) -> FileSpec where
S: Into<String>,
The specified String is used as the basename of the log file name, instead of the program name. Using a file separator within the argument is discouraged.
pub fn o_basename<S>(self, o_basename: Option<S>) -> FileSpec where
S: Into<String>,
pub fn o_basename<S>(self, o_basename: Option<S>) -> FileSpec where
S: Into<String>,
The specified String is used as the basename of the log file,
instead of the program name, which is used when None
is given.
pub fn directory<P>(self, directory: P) -> FileSpec where
P: Into<PathBuf>,
pub fn directory<P>(self, directory: P) -> FileSpec where
P: Into<PathBuf>,
Specifies a folder for the log files.
If the specified folder does not exist, it will be created. By default, the log files are created in the folder where the program was started.
pub fn o_directory<P>(self, directory: Option<P>) -> FileSpec where
P: Into<PathBuf>,
pub fn o_directory<P>(self, directory: Option<P>) -> FileSpec where
P: Into<PathBuf>,
Specifies a folder for the log files.
If the specified folder does not exist, it will be created. With None, the log files are created in the folder where the program was started.
pub fn discriminant<S>(self, discriminant: S) -> FileSpec where
S: Into<String>,
pub fn discriminant<S>(self, discriminant: S) -> FileSpec where
S: Into<String>,
The specified String is added to the log file name.
pub fn o_discriminant<S>(self, o_discriminant: Option<S>) -> FileSpec where
S: Into<String>,
pub fn o_discriminant<S>(self, o_discriminant: Option<S>) -> FileSpec where
S: Into<String>,
The specified String is added to the log file name.
pub fn suffix<S>(self, suffix: S) -> FileSpec where
S: Into<String>,
pub fn suffix<S>(self, suffix: S) -> FileSpec where
S: Into<String>,
Specifies a suffix for the log files.
Equivalent to o_suffix(Some(suffix))
.
pub fn o_suffix<S>(self, o_suffix: Option<S>) -> FileSpec where
S: Into<String>,
pub fn o_suffix<S>(self, o_suffix: Option<S>) -> FileSpec where
S: Into<String>,
Specifies a suffix for the log files, or supresses the use of a suffix completely.
The default suffix is “log”.
pub fn suppress_timestamp(self) -> FileSpec
pub fn suppress_timestamp(self) -> FileSpec
Makes the logger not include a timestamp into the names of the log files
Equivalent to use_timestamp(false)
.
pub fn use_timestamp(self, use_timestamp: bool) -> FileSpec
pub fn use_timestamp(self, use_timestamp: bool) -> FileSpec
Defines if a timestamp should be included into the names of the log files.
The default behavior depends on the usage:
- without rotation, a timestamp is by default included into the name
- with rotation, the timestamp is by default suppressed
pub fn as_pathbuf(&self, o_infix: Option<&str>) -> PathBuf
pub fn as_pathbuf(&self, o_infix: Option<&str>) -> PathBuf
Creates a PathBuf
to the described log file.
It is composed like this:
<directory>/<basename>_<discr>_<timestamp><infix>.<suffix>
Trait Implementations
impl Eq for FileSpec
impl StructuralEq for FileSpec
impl StructuralPartialEq for FileSpec
Auto Trait Implementations
impl RefUnwindSafe for FileSpec
impl Send for FileSpec
impl Sync for FileSpec
impl Unpin for FileSpec
impl UnwindSafe for FileSpec
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<W, Global>impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<W, Global>impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<A> DynCastExt for A
impl<A> DynCastExt for A
fn dyn_cast<T>(
self
) -> Result<<A as DynCastExtHelper<T>>::Target, <A as DynCastExtHelper<T>>::Source> where
A: DynCastExtHelper<T>,
T: ?Sized,
fn dyn_cast<T>(
self
) -> Result<<A as DynCastExtHelper<T>>::Target, <A as DynCastExtHelper<T>>::Source> where
A: DynCastExtHelper<T>,
T: ?Sized,
Use this to cast from one trait object type to another. Read more
fn dyn_upcast<T>(self) -> <A as DynCastExtAdvHelper<T, T>>::Target where
A: DynCastExtAdvHelper<T, T, Source = <A as DynCastExtAdvHelper<T, T>>::Target>,
T: ?Sized,
fn dyn_upcast<T>(self) -> <A as DynCastExtAdvHelper<T, T>>::Target where
A: DynCastExtAdvHelper<T, T, Source = <A as DynCastExtAdvHelper<T, T>>::Target>,
T: ?Sized,
Use this to upcast a trait to one of its supertraits. Read more
fn dyn_cast_adv<F, T>(
self
) -> Result<<A as DynCastExtAdvHelper<F, T>>::Target, <A as DynCastExtAdvHelper<F, T>>::Source> where
A: DynCastExtAdvHelper<F, T>,
F: ?Sized,
T: ?Sized,
fn dyn_cast_adv<F, T>(
self
) -> Result<<A as DynCastExtAdvHelper<F, T>>::Target, <A as DynCastExtAdvHelper<F, T>>::Source> where
A: DynCastExtAdvHelper<F, T>,
F: ?Sized,
T: ?Sized,
fn dyn_cast_with_config<C>(
self
) -> Result<<A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Target, <A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Source> where
C: DynCastConfig,
A: DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>,
fn dyn_cast_with_config<C>(
self
) -> Result<<A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Target, <A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Source> where
C: DynCastConfig,
A: DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>,
Use this to cast from one trait object type to another. With this method the type parameter is a config type that uniquely specifies which cast should be preformed. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more