make proper logging to file as well as writing errors to stderr. ditch idea with non_blocking because that's not async thing

This commit is contained in:
mykola2312 2024-02-26 21:42:10 +02:00
parent 8a6965a24f
commit ae3c0a9557
2 changed files with 15 additions and 14 deletions

View file

@ -1,7 +1,6 @@
use anyhow;
use sqlx::migrate::MigrateDatabase;
use sqlx::{Sqlite, SqlitePool};
use tracing::{event, Level};
use std::env;
use std::fmt;
use std::str;
@ -12,6 +11,7 @@ use teloxide::dispatching::dialogue::InMemStorage;
use teloxide::dispatching::UpdateHandler;
use teloxide::types::InputFile;
use teloxide::{prelude::*, update_listeners::Polling, utils::command::BotCommands};
use tracing::{event, Level};
use super::log::log_init;
use super::util::make_database_url;

View file

@ -1,25 +1,26 @@
use std::io;
use tracing::level_filters::LevelFilter;
use tracing_appender::rolling::{RollingFileAppender, Rotation};
use tracing_subscriber::{fmt, layer::SubscriberExt, prelude::*};
use super::util::VAR_LOG;
use tracing::Level;
use tracing_appender::{
non_blocking,
rolling::{RollingFileAppender, Rotation},
};
use tracing_subscriber::fmt;
pub fn log_init() {
let file_appender = RollingFileAppender::builder()
let log_appender = RollingFileAppender::builder()
.rotation(Rotation::DAILY)
.filename_prefix("mk-dl-bot.log")
.max_log_files(7)
.build(VAR_LOG)
.unwrap();
//let (non_blocking, _guard) = non_blocking(file_appender);
let stderr_layer = fmt::layer()
.with_writer(io::stderr)
.with_filter(LevelFilter::ERROR);
let subscriber = fmt()
.with_writer(file_appender)
.with_ansi(true)
.with_max_level(Level::TRACE)
.pretty()
let file_layer = fmt::layer().with_writer(log_appender);
tracing_subscriber::registry()
.with(stderr_layer)
.with(file_layer)
.init();
}