pub struct LoggingSystem { /* private fields */ }
Expand description
Holds fields related to logging system.
Methods from Deref<Target = Logger>§
Sourcepub fn new<T>(&self, values: OwnedKV<T>) -> Logger<D>where
T: SendSyncRefUnwindSafeKV + 'static,
D: Clone,
pub fn new<T>(&self, values: OwnedKV<T>) -> Logger<D>where
T: SendSyncRefUnwindSafeKV + 'static,
D: Clone,
Build a child logger
Child logger inherits all existing key-value pairs from its parent and supplements them with additional ones.
Use o!
macro to build OwnedKV
object.
§Drain cloning (D : Clone
requirement)
All children, their children and so on, form one tree sharing a
common drain. This drain, will be Clone
d when this method is called.
That is why Clone
must be implemented for D
in Logger<D>::new
.
For some Drain
types Clone
is cheap or even free (a no-op). This is
the case for any Logger
returned by Logger::root
and its children.
When using Logger::root_typed
, it’s possible that cloning might be
expensive, or even impossible.
The reason why wrapping in an Arc
is not done internally, and exposed
to the user is performance. Calling Drain::log
through an Arc
is
tiny bit slower than doing it directly.
#[macro_use]
extern crate slog;
fn main() {
let root = slog::Logger::root(slog::Discard,
o!("key1" => "value1", "key2" => "value2"));
let _log = root.new(o!("key" => "value"));
}
Sourcepub fn log(&self, record: &Record<'_>)
pub fn log(&self, record: &Record<'_>)
Log one logging Record
Use specific logging functions instead. See log!
macro
documentation.
Sourcepub fn list(&self) -> &OwnedKVList
pub fn list(&self) -> &OwnedKVList
Get list of key-value pairs assigned to this Logger
Sourcepub fn to_erased(&self) -> Loggerwhere
D: SendRefUnwindSafeDrain + 'static + Clone,
pub fn to_erased(&self) -> Loggerwhere
D: SendRefUnwindSafeDrain + 'static + Clone,
Create a copy with “erased” type
See into_erased
Trait Implementations§
Source§impl Clone for LoggingSystem
impl Clone for LoggingSystem
Source§fn clone(&self) -> LoggingSystem
fn clone(&self) -> LoggingSystem
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more