nano_rs_core/config/
logger.rs1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Clone)]
6pub struct LoggerConfig {
7 #[serde(default = "default_logging")]
8 pub logging: HashMap<String, LoggerFileConfig>,
9
10 #[serde(default = "default_enable_request_body_log")]
11 pub enable_request_body_log: bool,
12}
13
14fn default_enable_request_body_log() -> bool {
15 true
16}
17
18fn default_logging() -> HashMap<String, LoggerFileConfig> {
19 let mut map = HashMap::new();
20 map.insert("tower_http".to_string(), LoggerFileConfig {
21 name: None,
22 level: "debug".to_string(),
23 dir: None,
24 debug: None,
25 info: None,
26 trace: None,
27 error: None,
28 warn: None,
29 });
30 map
31}
32
33#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Clone)]
34pub struct LoggerFileConfig {
35 pub name: Option<String>,
36 #[serde(default = "default_level")]
37 pub level: String,
38 pub dir: Option<String>,
39 pub debug: Option<String>,
40 pub info: Option<String>,
41 pub trace: Option<String>,
42 pub error: Option<String>,
43 pub warn: Option<String>,
44}
45
46fn default_level() -> String {
47 "info".to_string()
48}