feat: setup logger

fix: create `.logs/` dir
This commit is contained in:
2024-02-21 18:01:44 +02:00
parent b0a8d64880
commit b492f1c1fb
5 changed files with 96 additions and 1 deletions

15
src/log.rs Normal file
View File

@@ -0,0 +1,15 @@
use std::{fs::File, path::PathBuf, str::FromStr};
use tracing::Level;
use tracing_subscriber::fmt;
pub fn setup_logger() {
std::fs::create_dir_all(".logs").unwrap();
let path = PathBuf::from_str(".logs/traxor.log").unwrap();
let log_file = File::create(path).expect("Failed to create log file");
let subscriber = fmt::Subscriber::builder()
.with_max_level(Level::TRACE)
.with_writer(log_file)
.finish();
tracing::subscriber::set_global_default(subscriber).expect("setting default subscriber failed");
}

View File

@@ -1,4 +1,5 @@
use anyhow::Result;
use log::setup_logger;
use ratatui::backend::CrosstermBackend;
use ratatui::Terminal;
use std::io;
@@ -6,9 +7,13 @@ use traxor::app::App;
use traxor::event::{Event, EventHandler};
use traxor::handler::{get_action, update};
use traxor::tui::Tui;
mod log;
#[tokio::main]
async fn main() -> Result<()> {
// Setup the logger.
setup_logger();
// Create an application.
let mut app = App::new();