yazi/app/src/logs.rs
2023-08-03 21:54:59 +08:00

21 lines
670 B
Rust

use anyhow::{Context, Result};
use config::LOG;
use tracing_appender::non_blocking::WorkerGuard;
use tracing_subscriber::{fmt, prelude::__tracing_subscriber_SubscriberExt, Registry};
pub(super) struct Logs;
impl Logs {
pub(super) fn init() -> Result<WorkerGuard> {
let appender = tracing_appender::rolling::never(&LOG.root, "yazi.log");
let (handle, guard) = tracing_appender::non_blocking(appender);
// let filter = EnvFilter::from_default_env();
let subscriber = Registry::default().with(fmt::layer().pretty().with_writer(handle));
tracing::subscriber::set_global_default(subscriber)
.context("setting default subscriber failed")?;
Ok(guard)
}
}