pub fn builder() -> Builder
Expand description
Examples found in repository?
More examples
examples/multiple_dispatches.rs (line 19)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
fn main() {
logforth::builder()
.dispatch(|d| {
d.filter(LevelFilter::Error)
.append(append::Stderr::default())
})
.dispatch(|d| {
d.filter(LevelFilter::Info)
.append(append::Stdout::default())
})
.apply();
log::error!("Hello error!");
log::warn!("Hello warn!");
log::info!("Hello info!");
log::debug!("Hello debug!");
log::trace!("Hello trace!");
}
examples/syslog.rs (line 23)
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
fn main() {
let syslog_writer = SyslogWriter::tcp_well_known().unwrap();
let (non_blocking, _guard) = syslog::non_blocking(syslog_writer).finish();
logforth::builder()
.dispatch(|d| {
d.filter(log::LevelFilter::Trace)
.append(Syslog::new(non_blocking))
})
.apply();
let repeat = 1;
for i in 0..repeat {
log::error!("Hello syslog error!");
log::warn!("Hello syslog warn!");
log::info!("Hello syslog info!");
log::debug!("Hello syslog debug!");
log::trace!("Hello syslog trace!");
if i + 1 < repeat {
std::thread::sleep(std::time::Duration::from_secs(10));
}
}
}
examples/custom_layout_filter.rs (line 21)
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
fn main() {
logforth::builder()
.dispatch(|d| {
d.filter(CustomFilter::new(|metadata| {
if metadata.level() < log::Level::Info {
FilterResult::Accept
} else {
FilterResult::Reject
}
}))
.append(
append::Stdout::default().with_layout(CustomLayout::new(|record| {
Ok(format!("[Alert] {}", record.args()).into_bytes())
})),
)
})
.apply();
log::error!("Hello error!");
log::warn!("Hello warn!");
log::info!("Hello info!");
log::debug!("Hello debug!");
log::trace!("Hello trace!");
}
examples/rolling_file.rs (line 30)
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
fn main() {
let rolling_writer = RollingFileWriter::builder()
.rotation(Rotation::Daily)
.filename_prefix("app_log")
.build("logs")
.unwrap();
let (non_blocking, _guard) = rolling_file::non_blocking(rolling_writer).finish();
logforth::builder()
.dispatch(|d| {
d.filter(log::LevelFilter::Trace)
.append(RollingFile::new(non_blocking).with_layout(JsonLayout::default()))
})
.apply();
let repeat = 1;
for i in 0..repeat {
log::error!("Hello error!");
log::warn!("Hello warn!");
log::info!("Hello info!");
log::debug!("Hello debug!");
log::trace!("Hello trace!");
if i + 1 < repeat {
std::thread::sleep(std::time::Duration::from_secs(10));
}
}
}