fix: initialize logs right after configurations (#708)

This commit is contained in:
Diogo Duarte 2024-02-26 01:55:16 +00:00 committed by GitHub
parent 46516dab74
commit aa8448677e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 11 additions and 11 deletions

View file

@ -6,7 +6,7 @@ use yazi_config::keymap::Key;
use yazi_core::input::InputMode;
use yazi_shared::{emit, event::{Cmd, Event, NEED_RENDER}, term::Term, Layer};
use crate::{lives::Lives, Ctx, Executor, Logs, Panic, Router, Signals};
use crate::{lives::Lives, Ctx, Executor, Router, Signals};
pub(crate) struct App {
pub(crate) cx: Ctx,
@ -16,8 +16,6 @@ pub(crate) struct App {
impl App {
pub(crate) async fn run() -> Result<()> {
Panic::install();
let _log = Logs::init()?;
let term = Term::start()?;
let signals = Signals::start()?;

View file

@ -1,21 +1,21 @@
use anyhow::{Context, Result};
use tracing_appender::non_blocking::WorkerGuard;
use tracing_subscriber::{fmt, prelude::__tracing_subscriber_SubscriberExt, Registry};
use yazi_boot::BOOT;
use yazi_shared::{RoCell, Xdg};
static _GUARD: RoCell<WorkerGuard> = RoCell::new();
pub(super) struct Logs;
impl Logs {
pub(super) fn init() -> Result<WorkerGuard> {
let appender = tracing_appender::rolling::never(&BOOT.state_dir, "yazi.log");
pub(super) fn start() {
let appender = tracing_appender::rolling::never(Xdg::state_dir().unwrap(), "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")?;
tracing::subscriber::set_global_default(subscriber).expect("setting default subscriber failed");
Ok(guard)
_GUARD.init(guard);
}
}

View file

@ -35,8 +35,10 @@ use signals::*;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
Panic::install();
Logs::start();
_ = fdlimit::raise_fd_limit();
// console_subscriber::init();
yazi_config::init();