sweet beautiful fern

This commit is contained in:
ntr 2019-08-20 13:35:05 +10:00
parent 23b622ca8d
commit 796e5835e9
2 changed files with 32 additions and 6 deletions

View File

@ -23,7 +23,7 @@ failure = "0.1"
dotenv = "0.9.0"
log = "0.4"
fern = "0.5"
fern = { version = "0.5", features = ["colored"] }
iron = "0.6"
bodyparser = "0.8"

View File

@ -54,27 +54,53 @@ mod warden;
use std::thread::{spawn};
use std::path::{Path};
use fern::colors::{Color, ColoredLevelConfig};
use crossbeam_channel::{unbounded};
fn setup_logger() -> Result<(), fern::InitError> {
fern::Dispatch::new()
let colors_line = ColoredLevelConfig::new()
.error(Color::Red)
.warn(Color::Yellow)
.info(Color::BrightWhite)
.debug(Color::BrightWhite)
.trace(Color::BrightBlack);
let colors_level = colors_line.clone().info(Color::Green);
let term = fern::Dispatch::new()
.format(move |out, message, record| {
out.finish(format_args!(
"{color_line}[{date}][{target}][{level}{color_line}] {message}\x1B[0m",
color_line = format_args!("\x1B[{}m", colors_line.get_color(&record.level()).to_fg_str()),
date = chrono::Local::now().format("%Y-%m-%d %H:%M:%S"),
target = record.target(),
level = colors_level.color(record.level()),
message = message,
));
})
.chain(std::io::stdout());
let file = fern::Dispatch::new()
.format(|out, message, record| {
out.finish(format_args!(
"{}[{}][{}] {}",
chrono::Local::now().format("[%Y-%m-%d][%H:%M:%S]"),
"{{\"time\":\"{}\",\"name\":\"{}\",\"level\":\"{}\",\"msg\":\"{}\"}}",
chrono::Local::now().to_rfc3339(),
record.target(),
record.level(),
message
))
})
.chain(fern::log_file("/var/log/mnml/mnml.log")?);
fern::Dispatch::new()
.level_for("postgres", log::LevelFilter::Info)
.level_for("ws", log::LevelFilter::Warn)
.level_for("iron", log::LevelFilter::Info)
.level(log::LevelFilter::Info)
.chain(std::io::stdout())
.chain(fern::log_file("/var/log/mnml/mnml.log")?)
.chain(term)
.chain(file)
.apply()?;
Ok(())
}