use log::Record;
use chrono::Local;
use std::thread;
pub fn default_format(record: &Record) -> String {
format!(
"{} [{}] {}",
record.level(),
record.module_path().unwrap_or("<unnamed>"),
record.args()
)
}
pub fn opt_format(record: &Record) -> String {
format!(
"[{}] {} [{}:{}] {}",
Local::now().format("%Y-%m-%d %H:%M:%S%.6f %:z"),
record.level(),
record.file().unwrap_or("<unnamed>"),
record.line().unwrap_or(0),
&record.args()
)
}
pub fn detailed_format(record: &Record) -> String {
format!(
"[{}] {} [{}] {}:{}: {}",
Local::now().format("%Y-%m-%d %H:%M:%S%.6f %:z"),
record.level(),
record.module_path().unwrap_or("<unnamed>"),
record.file().unwrap_or("<unnamed>"),
record.line().unwrap_or(0),
&record.args()
)
}
pub fn with_thread(record: &Record) -> String {
format!(
"[{}] T[{:?}] {} [{}:{}] {}",
Local::now().format("%Y-%m-%d %H:%M:%S%.6f %:z"),
thread::current().name().unwrap_or("<unnamed>"),
record.level(),
record.file().unwrap_or("<unnamed>"),
record.line().unwrap_or(0),
&record.args()
)
}