[go: up one dir, main page]

Struct Env

Source
pub struct Env<'a> { /* private fields */ }
Expand description

Set of environment variables to configure from.

§Default environment variables

By default, the Env will read the following environment variables:

  • RUST_LOG: the level filter
  • RUST_LOG_STYLE: whether or not to print styles with records.

These sources can be configured using the builder methods on Env.

Implementations§

Source§

impl<'a> Env<'a>

Source

pub fn new() -> Self

Get a default set of environment variables.

Source

pub fn filter<E>(self, filter_env: E) -> Self
where E: Into<Cow<'a, str>>,

Specify an environment variable to read the filter from.

Examples found in repository?
examples/custom_default_format.rs (line 26)
24fn init_logger() {
25    let env = Env::default()
26        .filter("MY_LOG_LEVEL")
27        .write_style("MY_LOG_STYLE");
28
29    Builder::from_env(env)
30        .format_level(false)
31        .format_timestamp_nanos()
32        .init();
33}
More examples
Hide additional examples
examples/custom_format.rs (line 28)
26    fn init_logger() {
27        let env = Env::default()
28            .filter("MY_LOG_LEVEL")
29            .write_style("MY_LOG_STYLE");
30
31        Builder::from_env(env)
32            .format(|buf, record| {
33                // We are reusing `anstyle` but there are `anstyle-*` crates to adapt it to your
34                // preferred styling crate.
35                let warn_style = buf.default_level_style(log::Level::Warn);
36                let timestamp = buf.timestamp();
37
38                writeln!(
39                    buf,
40                    "My formatted log ({timestamp}): {warn_style}{}{warn_style:#}",
41                    record.args()
42                )
43            })
44            .init();
45    }
Source

pub fn filter_or<E, V>(self, filter_env: E, default: V) -> Self
where E: Into<Cow<'a, str>>, V: Into<Cow<'a, str>>,

Specify an environment variable to read the filter from.

If the variable is not set, the default value will be used.

Examples found in repository?
examples/default.rs (line 27)
22fn main() {
23    // The `Env` lets us tweak what the environment
24    // variables to read are and what the default
25    // value is if they're missing
26    let env = Env::default()
27        .filter_or("MY_LOG_LEVEL", "trace")
28        .write_style_or("MY_LOG_STYLE", "always");
29
30    env_logger::init_from_env(env);
31
32    trace!("some trace log");
33    debug!("some debug log");
34    info!("some information log");
35    warn!("some warning log");
36    error!("some error log");
37}
Source

pub fn default_filter_or<V>(self, default: V) -> Self
where V: Into<Cow<'a, str>>,

Use the default environment variable to read the filter from.

If the variable is not set, the default value will be used.

Source

pub fn write_style<E>(self, write_style_env: E) -> Self
where E: Into<Cow<'a, str>>,

Specify an environment variable to read the style from.

Examples found in repository?
examples/custom_default_format.rs (line 27)
24fn init_logger() {
25    let env = Env::default()
26        .filter("MY_LOG_LEVEL")
27        .write_style("MY_LOG_STYLE");
28
29    Builder::from_env(env)
30        .format_level(false)
31        .format_timestamp_nanos()
32        .init();
33}
More examples
Hide additional examples
examples/custom_format.rs (line 29)
26    fn init_logger() {
27        let env = Env::default()
28            .filter("MY_LOG_LEVEL")
29            .write_style("MY_LOG_STYLE");
30
31        Builder::from_env(env)
32            .format(|buf, record| {
33                // We are reusing `anstyle` but there are `anstyle-*` crates to adapt it to your
34                // preferred styling crate.
35                let warn_style = buf.default_level_style(log::Level::Warn);
36                let timestamp = buf.timestamp();
37
38                writeln!(
39                    buf,
40                    "My formatted log ({timestamp}): {warn_style}{}{warn_style:#}",
41                    record.args()
42                )
43            })
44            .init();
45    }
Source

pub fn write_style_or<E, V>(self, write_style_env: E, default: V) -> Self
where E: Into<Cow<'a, str>>, V: Into<Cow<'a, str>>,

Specify an environment variable to read the style from.

If the variable is not set, the default value will be used.

Examples found in repository?
examples/default.rs (line 28)
22fn main() {
23    // The `Env` lets us tweak what the environment
24    // variables to read are and what the default
25    // value is if they're missing
26    let env = Env::default()
27        .filter_or("MY_LOG_LEVEL", "trace")
28        .write_style_or("MY_LOG_STYLE", "always");
29
30    env_logger::init_from_env(env);
31
32    trace!("some trace log");
33    debug!("some debug log");
34    info!("some information log");
35    warn!("some warning log");
36    error!("some error log");
37}
Source

pub fn default_write_style_or<V>(self, default: V) -> Self
where V: Into<Cow<'a, str>>,

Use the default environment variable to read the style from.

If the variable is not set, the default value will be used.

Trait Implementations§

Source§

impl<'a> Debug for Env<'a>

Source§

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

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

impl Default for Env<'_>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'a, T> From<T> for Env<'a>
where T: Into<Cow<'a, str>>,

Source§

fn from(filter_env: T) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<'a> Freeze for Env<'a>

§

impl<'a> RefUnwindSafe for Env<'a>

§

impl<'a> Send for Env<'a>

§

impl<'a> Sync for Env<'a>

§

impl<'a> Unpin for Env<'a>

§

impl<'a> UnwindSafe for Env<'a>

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, 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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

Source§

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.