Skip to main content

Crate rivet_logger

Crate rivet_logger 

Source
Expand description

§rivet-logger

rivet-logger is a simple logging crate built on top of tracing. It provides:

  • A static Log API for output-only logging.
  • Pluggable handlers such as single, daily, stdout, and stack.

§Example

use std::sync::Arc;

use rivet_logger::handlers::single::Single;
use rivet_logger::{set_handler, Log};

let single = Single::new("rivet.log")?;
set_handler(Arc::new(single));

Log::info("application booted");
Log::warn("cache warmup skipped");
Log::error("failed to connect to database");

§Stack Handler Example

use std::sync::Arc;

use rivet_logger::handlers::single::Single;
use rivet_logger::handlers::stack::Stack;
use rivet_logger::handlers::stdout::Stdout;
use rivet_logger::{set_handler, Log};

let file = Arc::new(Single::new("rivet.log")?);
let stdout = Arc::new(Stdout::new());
let stack = Stack::new(vec![file, stdout]);
set_handler(Arc::new(stack));

Log::info("application booted");

§Processor Example

use std::sync::Arc;

use rivet_logger::{Logger, PsrLogMessage, Tag};

let mut logger = Logger::new("app");
logger.push_processor(Arc::new(PsrLogMessage::default()));
logger.push_processor(Arc::new(Tag::new(vec!["http".to_string()])));

Re-exports§

pub use logger::ClosureContext;
pub use logger::DeferredValue;
pub use logger::Git;
pub use logger::Handler;
pub use logger::Hostname;
pub use logger::Introspection;
pub use logger::Level;
pub use logger::LoadAverage;
pub use logger::LoadAverageWindow;
pub use logger::LogRecord;
pub use logger::LogValue;
pub use logger::Logger;
pub use logger::LoggerError;
pub use logger::MemoryPeakUsage;
pub use logger::MemoryUsage;
pub use logger::Mercurial;
pub use logger::ProcessId;
pub use logger::Processor;
pub use logger::PsrLogMessage;
pub use logger::Tag;
pub use logger::Uid;
pub use logger::Web;

Modules§

handlers
logger
processors

Structs§

ChannelLog
Log
LogService

Functions§

init_default_tracing
set_channel_handler
set_channel_handler_build_config
set_channel_handlers
set_handler