Struct LoggerBuilder

Source
pub struct LoggerBuilder<EP: EndpointSuper> { /* private fields */ }
Expand description

Builder for the logger type.

Implementations§

Source§

impl<EP: EndpointSuper + Hash> LoggerBuilder<EP>

Source

pub fn format(self, fmt: fn(LogEntry<'_, EP>) -> String) -> Self

Sets the format for all log entries.

Source

pub fn base_path(self, path: impl AsRef<Path>) -> Self

Specifies the base path for files and archives.

Examples found in repository?
examples/logging.rs (line 12)
10fn main() {
11    let _keep = aether::init()
12        .base_path("logs")
13        .setup(Endpoint::Foo, |ep| ep.no_path())
14        .setup(Endpoint::Bar, |ep| ep.path("output.log"))
15        .setup(Endpoint::Baz, |ep| ep.path("baz.log").silent())
16        .build();
17
18    log!(Endpoint::Foo, "Hello World! {}", 0);
19    log!(Endpoint::Baz, "I'm in the world!");
20    log!(Endpoint::Bar, "Goodbye World! {}", 1);
21}
More examples
Hide additional examples
examples/scoped.rs (line 12)
10fn main() {
11    let _keep = aether::init()
12        .base_path("logs")
13        .setup(Endpoint::Foo, |ep| ep.no_path())
14        .setup(Endpoint::Bar, |ep| ep.path("scoped-output.log"))
15        .setup(Endpoint::Baz, |ep| ep.path("scoped-baz.log").silent())
16        .build();
17
18    aether::scoped(Endpoint::Foo, || {
19        slog!("Hello World! {}", 0);
20    });
21    aether::scoped(Endpoint::Baz, || {
22        slog!("I'm in the world!");
23    });
24    aether::scoped(Endpoint::Bar, || {
25        slog!("Goodbye World! {}", 1);
26    });
27}
Source

pub fn setup( self, endpoint: EP, setup: fn(EndpointBuilder) -> EndpointBuilder, ) -> Self

Setup an endpoint.

Examples found in repository?
examples/logging.rs (line 13)
10fn main() {
11    let _keep = aether::init()
12        .base_path("logs")
13        .setup(Endpoint::Foo, |ep| ep.no_path())
14        .setup(Endpoint::Bar, |ep| ep.path("output.log"))
15        .setup(Endpoint::Baz, |ep| ep.path("baz.log").silent())
16        .build();
17
18    log!(Endpoint::Foo, "Hello World! {}", 0);
19    log!(Endpoint::Baz, "I'm in the world!");
20    log!(Endpoint::Bar, "Goodbye World! {}", 1);
21}
More examples
Hide additional examples
examples/scoped.rs (line 13)
10fn main() {
11    let _keep = aether::init()
12        .base_path("logs")
13        .setup(Endpoint::Foo, |ep| ep.no_path())
14        .setup(Endpoint::Bar, |ep| ep.path("scoped-output.log"))
15        .setup(Endpoint::Baz, |ep| ep.path("scoped-baz.log").silent())
16        .build();
17
18    aether::scoped(Endpoint::Foo, || {
19        slog!("Hello World! {}", 0);
20    });
21    aether::scoped(Endpoint::Baz, || {
22        slog!("I'm in the world!");
23    });
24    aether::scoped(Endpoint::Bar, || {
25        slog!("Goodbye World! {}", 1);
26    });
27}
Source

pub fn build(self) -> KeepAlive

Construct the logger. See KeepAlive for more details.

Examples found in repository?
examples/logging.rs (line 16)
10fn main() {
11    let _keep = aether::init()
12        .base_path("logs")
13        .setup(Endpoint::Foo, |ep| ep.no_path())
14        .setup(Endpoint::Bar, |ep| ep.path("output.log"))
15        .setup(Endpoint::Baz, |ep| ep.path("baz.log").silent())
16        .build();
17
18    log!(Endpoint::Foo, "Hello World! {}", 0);
19    log!(Endpoint::Baz, "I'm in the world!");
20    log!(Endpoint::Bar, "Goodbye World! {}", 1);
21}
More examples
Hide additional examples
examples/scoped.rs (line 16)
10fn main() {
11    let _keep = aether::init()
12        .base_path("logs")
13        .setup(Endpoint::Foo, |ep| ep.no_path())
14        .setup(Endpoint::Bar, |ep| ep.path("scoped-output.log"))
15        .setup(Endpoint::Baz, |ep| ep.path("scoped-baz.log").silent())
16        .build();
17
18    aether::scoped(Endpoint::Foo, || {
19        slog!("Hello World! {}", 0);
20    });
21    aether::scoped(Endpoint::Baz, || {
22        slog!("I'm in the world!");
23    });
24    aether::scoped(Endpoint::Bar, || {
25        slog!("Goodbye World! {}", 1);
26    });
27}

Auto Trait Implementations§

§

impl<EP> Freeze for LoggerBuilder<EP>

§

impl<EP> RefUnwindSafe for LoggerBuilder<EP>

§

impl<EP> Send for LoggerBuilder<EP>

§

impl<EP> Sync for LoggerBuilder<EP>

§

impl<EP> Unpin for LoggerBuilder<EP>

§

impl<EP> UnwindSafe for LoggerBuilder<EP>

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.