syslog chain instead of json
This commit is contained in:
parent
abdaa5fd56
commit
42dcf4e2d3
@ -295,13 +295,13 @@
|
|||||||
## Uncomment to remove deprecated metrics.
|
## Uncomment to remove deprecated metrics.
|
||||||
# fielddrop = ["uptime_format"]
|
# fielddrop = ["uptime_format"]
|
||||||
|
|
||||||
[[inputs.tail]]
|
# [[inputs.tail]]
|
||||||
files = ["/var/log/mnml/mnml.log"]
|
# files = ["/var/log/mnml/mnml.log"]
|
||||||
name_override = "mnml_log"
|
# name_override = "mnml_log"
|
||||||
data_format = "json"
|
# data_format = "json"
|
||||||
json_time_key = "time"
|
# json_time_key = "time"
|
||||||
json_time_format = "2006-01-02T15:04:05.999999999Z07:00"
|
# json_time_format = "2006-01-02T15:04:05.999999999Z07:00"
|
||||||
json_string_fields = ["level", "module", "msg"]
|
# json_string_fields = ["level", "module", "msg"]
|
||||||
|
|
||||||
[[inputs.syslog]]
|
[[inputs.syslog]]
|
||||||
server = "tcp://:6514"
|
server = "tcp://:6514"
|
||||||
|
|||||||
@ -23,7 +23,8 @@ failure = "0.1"
|
|||||||
|
|
||||||
dotenv = "0.9.0"
|
dotenv = "0.9.0"
|
||||||
log = "0.4"
|
log = "0.4"
|
||||||
fern = { version = "0.5", features = ["colored"] }
|
fern = { version = "0.5", features = ["colored", "syslog-4"] }
|
||||||
|
syslog = "4"
|
||||||
|
|
||||||
iron = "0.6"
|
iron = "0.6"
|
||||||
bodyparser = "0.8"
|
bodyparser = "0.8"
|
||||||
|
|||||||
@ -62,15 +62,18 @@ use std::path::{Path};
|
|||||||
use fern::colors::{Color, ColoredLevelConfig};
|
use fern::colors::{Color, ColoredLevelConfig};
|
||||||
use crossbeam_channel::{unbounded};
|
use crossbeam_channel::{unbounded};
|
||||||
|
|
||||||
#[derive(Serialize)]
|
|
||||||
struct JsonLog {
|
|
||||||
time: String,
|
|
||||||
module: String,
|
|
||||||
level: String,
|
|
||||||
msg: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn setup_logger() -> Result<(), fern::InitError> {
|
pub fn setup_logger() -> Result<(), fern::InitError> {
|
||||||
|
let formatter = syslog::Formatter3164 {
|
||||||
|
facility: syslog::Facility::LOG_USER,
|
||||||
|
hostname: None,
|
||||||
|
process: "mnml".to_owned(),
|
||||||
|
pid: 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
let syslog = fern::Dispatch::new()
|
||||||
|
.level(log::LevelFilter::Info)
|
||||||
|
.chain(syslog::unix(formatter).unwrap());
|
||||||
|
|
||||||
let colors_line = ColoredLevelConfig::new()
|
let colors_line = ColoredLevelConfig::new()
|
||||||
.error(Color::Red)
|
.error(Color::Red)
|
||||||
.warn(Color::Yellow)
|
.warn(Color::Yellow)
|
||||||
@ -92,29 +95,13 @@ pub fn setup_logger() -> Result<(), fern::InitError> {
|
|||||||
})
|
})
|
||||||
.chain(std::io::stdout());
|
.chain(std::io::stdout());
|
||||||
|
|
||||||
let json = fern::Dispatch::new()
|
|
||||||
.format(|out, message, record| {
|
|
||||||
let json = JsonLog {
|
|
||||||
time: chrono::Local::now().to_rfc3339(),
|
|
||||||
module: record.target().to_string(),
|
|
||||||
level: record.level().to_string(),
|
|
||||||
msg: message.to_string()
|
|
||||||
};
|
|
||||||
|
|
||||||
out.finish(format_args!(
|
|
||||||
"{}",
|
|
||||||
serde_json::to_string(&json).unwrap(),
|
|
||||||
))
|
|
||||||
})
|
|
||||||
.chain(fern::log_file("/var/log/mnml/mnml.log")?);
|
|
||||||
|
|
||||||
fern::Dispatch::new()
|
fern::Dispatch::new()
|
||||||
.level_for("postgres", log::LevelFilter::Info)
|
.level_for("postgres", log::LevelFilter::Info)
|
||||||
.level_for("ws", log::LevelFilter::Warn)
|
.level_for("ws", log::LevelFilter::Warn)
|
||||||
.level_for("iron", log::LevelFilter::Info)
|
.level_for("iron", log::LevelFilter::Info)
|
||||||
.level(log::LevelFilter::Info)
|
.level(log::LevelFilter::Info)
|
||||||
.chain(term)
|
.chain(term)
|
||||||
.chain(json)
|
.chain(syslog)
|
||||||
.apply()?;
|
.apply()?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user