1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//! 日志配置

use crate::tina::{data::AppResult, server::application::AppConfig};

use super::UpdateableConfig;

/// 日志
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(crate = "serde")]
pub struct LogConfig {
    /// 是否启用接口调用的参数日志打印
    pub enable_request_parameter_log: bool,
    /// 接口参数日志打印的参数长度上限(超过上限部分将被截断,防止日志文件大小增长过快)
    pub log_parameter_json_length: u32,
}

impl Default for LogConfig {
    fn default() -> Self {
        Self {
            enable_request_parameter_log: false,
            log_parameter_json_length: 2000,
        }
    }
}

/// 可应用的配置
#[async_trait]
impl UpdateableConfig for LogConfig {
    /// 应用更新
    async fn apply(&self, _application: &AppConfig) -> AppResult<()> {
        Ok(())
    }
}