v2
This commit is contained in:
+61
@@ -0,0 +1,61 @@
|
||||
use std::io::Write;
|
||||
use std::path::PathBuf;
|
||||
pub fn log_init(log_name: &str) {
|
||||
log_init0(log_name, None);
|
||||
}
|
||||
pub fn log_init0(log_name: &str, yaml: Option<&str>) {
|
||||
let path = PathBuf::from("logs");
|
||||
|
||||
if !path.exists() {
|
||||
let _ = std::fs::create_dir(&path);
|
||||
}
|
||||
|
||||
let log_config = path.join(yaml.unwrap_or("log4rs.yaml"));
|
||||
|
||||
if !log_config.exists()
|
||||
&& let Ok(mut f) = std::fs::File::create(&log_config)
|
||||
{
|
||||
let log_file = path.join(format!("{log_name}.log"));
|
||||
let mut string = String::new();
|
||||
string.push_str(log_name);
|
||||
string.push_str(".{}.log");
|
||||
let log_file_pattern = path.join(&string);
|
||||
|
||||
let c = format!(
|
||||
r#"
|
||||
refresh_rate: 30 seconds
|
||||
appenders:
|
||||
rolling_file:
|
||||
kind: rolling_file
|
||||
path: {}
|
||||
append: true
|
||||
encoder:
|
||||
pattern: "{{d}} [{{f}}:{{L}}] {{h({{l}})}} {{M}}:{{m}}{{n}}"
|
||||
policy:
|
||||
kind: compound
|
||||
trigger:
|
||||
kind: size
|
||||
limit: 10 mb
|
||||
roller:
|
||||
kind: fixed_window
|
||||
pattern: {}
|
||||
base: 1
|
||||
count: 5
|
||||
console:
|
||||
kind: console
|
||||
encoder:
|
||||
pattern: "{{d}} {{h({{l}})}} {{m}}{{n}}"
|
||||
root:
|
||||
level: info
|
||||
appenders:
|
||||
- rolling_file
|
||||
- console
|
||||
"#,
|
||||
log_file.display(),
|
||||
log_file_pattern.display()
|
||||
);
|
||||
let _ = f.write_all(c.as_bytes());
|
||||
}
|
||||
|
||||
let _ = log4rs::init_file(log_config, Default::default());
|
||||
}
|
||||
Reference in New Issue
Block a user