Struct FormatBuilder

Source
pub struct FormatBuilder { /* private fields */ }
Expand description

Streamer builder

Implementations§

Source§

impl FormatBuilder

Source

pub fn full(self) -> Self

Output using full mode (default)

Examples found in repository?
examples/full-format.rs (line 19)
10fn main() {
11    let file = OpenOptions::new()
12        .create(true)
13        .write(true)
14        .truncate(true)
15        .open("target/log.html").unwrap();
16
17    let d1 = slog_stream::stream(
18        file,
19        slog_html::new().full().build()
20    );
21    let d2 = slog_stream::stream(
22        std::io::stderr(),
23        slog_html::new().full().build()
24    );
25
26    let root_log = slog::Logger::root(
27        slog::duplicate(d1, d2).fuse(),
28        o!("version" => env!("CARGO_PKG_VERSION"))
29    );
30
31    let server_log = root_log.new(o!("host" => "localhost", "port" => "8080"));
32    let peer1_log = server_log.new(o!("peer_addr" => "8.8.8.8", "port" => "18230"));
33    let peer2_log = server_log.new(o!("peer_addr" => "82.9.9.9", "port" => "42381"));
34
35    info!(server_log, "starting");
36    info!(server_log, "listening");
37    debug!(peer2_log, "connected");
38    debug!(peer2_log, "message received"; "length" => 2);
39    debug!(peer1_log, "connected");
40    debug!(peer2_log, "response sent"; "length" => 8);
41    debug!(peer2_log, "disconnected");
42    debug!(peer1_log, "message received"; "length" => 2);
43    debug!(peer1_log, "response sent"; "length" => 8);
44    debug!(peer1_log, "disconnected");
45    info!(server_log, "exit");
46}
Source

pub fn compact(self) -> Self

Output using compact mode

Examples found in repository?
examples/compact-format.rs (line 19)
10fn main() {
11    let file = OpenOptions::new()
12        .create(true)
13        .write(true)
14        .truncate(true)
15        .open("target/log.html").unwrap();
16
17    let d1 = slog_stream::stream(
18        file,
19        slog_html::new().compact().build()
20    );
21    let d2 = slog_stream::stream(
22        std::io::stderr(),
23        slog_html::new().compact().build()
24    );
25
26    let root_log = slog::Logger::root(
27        slog::duplicate(d1, d2).fuse(),
28        o!("version" => env!("CARGO_PKG_VERSION"))
29    );
30
31    let server_log = root_log.new(o!("host" => "localhost", "port" => "8080"));
32    let peer1_log = server_log.new(o!("peer_addr" => "8.8.8.8", "port" => "18230"));
33    let peer2_log = server_log.new(o!("peer_addr" => "82.9.9.9", "port" => "42381"));
34
35    info!(server_log, "starting");
36    info!(server_log, "listening");
37    debug!(peer2_log, "connected");
38    debug!(peer2_log, "message received"; "length" => 2);
39    debug!(peer1_log, "connected");
40    debug!(peer2_log, "response sent"; "length" => 8);
41    debug!(peer2_log, "disconnected");
42    debug!(peer1_log, "message received"; "length" => 2);
43    debug!(peer1_log, "response sent"; "length" => 8);
44    debug!(peer1_log, "disconnected");
45    info!(server_log, "exit");
46}
Source

pub fn color_palette(self, color_palette: ColorPalette) -> Self

Use custom color palette

Source

pub fn level_style(self, style: Style) -> Self

Use custom style for the log level

Source

pub fn timestamp_style(self, style: Style) -> Self

Use custom style for the timestamp

Source

pub fn message_style(self, style: Style) -> Self

Use custom style for the message

Source

pub fn key_style(self, style: Style) -> Self

Use custom style for keys

Source

pub fn value_style(self, style: Style) -> Self

Use custom style for values

Source

pub fn separator_style(self, style: Style) -> Self

Use custom style for separators

Source

pub fn use_utc_timestamp(self) -> Self

Use the UTC time zone for the timestamp

Source

pub fn use_local_timestamp(self) -> Self

Use the local time zone for the timestamp (default)

Source

pub fn use_custom_timestamp<F>(self, f: F) -> Self
where F: Fn(&mut dyn Write) -> Result<()> + 'static + Send + Sync,

Provide a custom function to generate the timestamp

Source

pub fn build(self) -> Format<HtmlDecorator>

Build Html formatter

Examples found in repository?
examples/full-format.rs (line 19)
10fn main() {
11    let file = OpenOptions::new()
12        .create(true)
13        .write(true)
14        .truncate(true)
15        .open("target/log.html").unwrap();
16
17    let d1 = slog_stream::stream(
18        file,
19        slog_html::new().full().build()
20    );
21    let d2 = slog_stream::stream(
22        std::io::stderr(),
23        slog_html::new().full().build()
24    );
25
26    let root_log = slog::Logger::root(
27        slog::duplicate(d1, d2).fuse(),
28        o!("version" => env!("CARGO_PKG_VERSION"))
29    );
30
31    let server_log = root_log.new(o!("host" => "localhost", "port" => "8080"));
32    let peer1_log = server_log.new(o!("peer_addr" => "8.8.8.8", "port" => "18230"));
33    let peer2_log = server_log.new(o!("peer_addr" => "82.9.9.9", "port" => "42381"));
34
35    info!(server_log, "starting");
36    info!(server_log, "listening");
37    debug!(peer2_log, "connected");
38    debug!(peer2_log, "message received"; "length" => 2);
39    debug!(peer1_log, "connected");
40    debug!(peer2_log, "response sent"; "length" => 8);
41    debug!(peer2_log, "disconnected");
42    debug!(peer1_log, "message received"; "length" => 2);
43    debug!(peer1_log, "response sent"; "length" => 8);
44    debug!(peer1_log, "disconnected");
45    info!(server_log, "exit");
46}
More examples
Hide additional examples
examples/compact-format.rs (line 19)
10fn main() {
11    let file = OpenOptions::new()
12        .create(true)
13        .write(true)
14        .truncate(true)
15        .open("target/log.html").unwrap();
16
17    let d1 = slog_stream::stream(
18        file,
19        slog_html::new().compact().build()
20    );
21    let d2 = slog_stream::stream(
22        std::io::stderr(),
23        slog_html::new().compact().build()
24    );
25
26    let root_log = slog::Logger::root(
27        slog::duplicate(d1, d2).fuse(),
28        o!("version" => env!("CARGO_PKG_VERSION"))
29    );
30
31    let server_log = root_log.new(o!("host" => "localhost", "port" => "8080"));
32    let peer1_log = server_log.new(o!("peer_addr" => "8.8.8.8", "port" => "18230"));
33    let peer2_log = server_log.new(o!("peer_addr" => "82.9.9.9", "port" => "42381"));
34
35    info!(server_log, "starting");
36    info!(server_log, "listening");
37    debug!(peer2_log, "connected");
38    debug!(peer2_log, "message received"; "length" => 2);
39    debug!(peer1_log, "connected");
40    debug!(peer2_log, "response sent"; "length" => 8);
41    debug!(peer2_log, "disconnected");
42    debug!(peer1_log, "message received"; "length" => 2);
43    debug!(peer1_log, "response sent"; "length" => 8);
44    debug!(peer1_log, "disconnected");
45    info!(server_log, "exit");
46}

Trait Implementations§

Source§

impl Default for FormatBuilder

Source§

fn default() -> Self

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

Auto Trait Implementations§

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.