escape msg

This commit is contained in:
ntr 2019-08-20 14:08:06 +10:00
parent 796e5835e9
commit 682be021b7

View File

@ -55,9 +55,17 @@ mod warden;
use std::thread::{spawn};
use std::path::{Path};
use fern::colors::{Color, ColoredLevelConfig};
use iron::prelude::*;
use crossbeam_channel::{unbounded};
#[derive(Serialize)]
struct JsonLog {
time: String,
name: String,
level: String,
msg: String,
}
fn setup_logger() -> Result<(), fern::InitError> {
let colors_line = ColoredLevelConfig::new()
.error(Color::Red)
@ -80,14 +88,18 @@ fn setup_logger() -> Result<(), fern::InitError> {
})
.chain(std::io::stdout());
let file = fern::Dispatch::new()
let json = fern::Dispatch::new()
.format(|out, message, record| {
let json = JsonLog {
time: chrono::Local::now().to_rfc3339(),
name: record.target().to_string(),
level: record.level().to_string(),
msg: message.to_string()
};
out.finish(format_args!(
"{{\"time\":\"{}\",\"name\":\"{}\",\"level\":\"{}\",\"msg\":\"{}\"}}",
chrono::Local::now().to_rfc3339(),
record.target(),
record.level(),
message
"{}",
serde_json::to_string(&json).unwrap(),
))
})
.chain(fern::log_file("/var/log/mnml/mnml.log")?);
@ -98,7 +110,7 @@ fn setup_logger() -> Result<(), fern::InitError> {
.level_for("iron", log::LevelFilter::Info)
.level(log::LevelFilter::Info)
.chain(term)
.chain(file)
.chain(json)
.apply()?;
Ok(())