mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
change(log): switch to fern
This commit is contained in:
parent
8ef5709c1b
commit
7abf2a0fb9
766
Cargo.lock
generated
766
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -35,8 +35,8 @@ pub use crate::error::Error;
|
||||
use crate::{audio::AudioFrontend, menu::main::MainMenuState, settings::Settings, window::Window};
|
||||
use log::{self, debug, error, info};
|
||||
|
||||
use simplelog::{CombinedLogger, Config, TermLogger, TerminalMode, WriteLogger};
|
||||
use std::{fs::File, mem, panic, str::FromStr};
|
||||
use fern::colors::{Color, ColoredLevelConfig};
|
||||
use std::{mem, panic, str::FromStr};
|
||||
|
||||
/// A type used to store state that is shared between all play states.
|
||||
pub struct GlobalState {
|
||||
@ -126,15 +126,47 @@ fn main() {
|
||||
.and_then(|env| env.to_str().map(|s| s.to_owned()))
|
||||
.and_then(|s| log::LevelFilter::from_str(&s).ok())
|
||||
.unwrap_or(log::LevelFilter::Warn);
|
||||
CombinedLogger::init(vec![
|
||||
TermLogger::new(term_log_level, Config::default(), TerminalMode::Mixed).unwrap(),
|
||||
WriteLogger::new(
|
||||
log::LevelFilter::Info,
|
||||
Config::default(),
|
||||
File::create(&settings.log.file).unwrap(),
|
||||
),
|
||||
])
|
||||
.unwrap();
|
||||
|
||||
let colors = ColoredLevelConfig::new()
|
||||
.error(Color::Red)
|
||||
.warn(Color::Yellow)
|
||||
.info(Color::Cyan)
|
||||
.debug(Color::Green)
|
||||
.trace(Color::BrightBlack);
|
||||
|
||||
let base = fern::Dispatch::new();
|
||||
//.level_for("hyper", log::LevelFilter::Warn)
|
||||
//.level_for("tokio_reactor", log::LevelFilter::Warn);
|
||||
|
||||
let file_cfg = fern::Dispatch::new()
|
||||
.level(log::LevelFilter::Debug)
|
||||
.format(|out, message, record| {
|
||||
out.finish(format_args!(
|
||||
"{}[{}:{}][{}] {}",
|
||||
chrono::Local::now().format("[%Y-%m-%d][%H:%M:%S]"),
|
||||
record.target(),
|
||||
record
|
||||
.line()
|
||||
.map(|x| x.to_string())
|
||||
.unwrap_or("X".to_string()),
|
||||
record.level(),
|
||||
message
|
||||
))
|
||||
})
|
||||
.chain(fern::log_file("voxygen.log").expect("Failed to create log file!"));
|
||||
|
||||
let stdout_cfg = fern::Dispatch::new()
|
||||
.level(term_log_level)
|
||||
.format(move |out, message, record| {
|
||||
out.finish(format_args!(
|
||||
"[{}] {}",
|
||||
colors.color(record.level()),
|
||||
message
|
||||
))
|
||||
})
|
||||
.chain(std::io::stdout());
|
||||
|
||||
base.chain(file_cfg).chain(stdout_cfg).apply().expect("Failed to setup logging!");
|
||||
|
||||
// Set up panic handler to relay swish panic messages to the user
|
||||
let settings_clone = settings.clone();
|
||||
|
Loading…
Reference in New Issue
Block a user