canic_core/config/schema/
log.rs

1use serde::{Deserialize, Serialize};
2
3///
4/// Defaults
5///
6
7mod defaults {
8    pub const fn max_entries() -> u64 {
9        10_000
10    }
11
12    pub const fn max_entry_bytes() -> u32 {
13        16_384
14    }
15}
16
17///
18/// LogConfig
19///
20
21#[derive(Clone, Debug, Deserialize, Serialize)]
22#[serde(deny_unknown_fields)]
23pub struct LogConfig {
24    #[serde(default = "defaults::max_entries")]
25    pub max_entries: u64,
26
27    #[serde(default = "defaults::max_entry_bytes")]
28    pub max_entry_bytes: u32,
29
30    #[serde(default)]
31    pub max_age_secs: Option<u64>,
32}
33
34impl Default for LogConfig {
35    fn default() -> Self {
36        Self {
37            max_entries: defaults::max_entries(),
38            max_entry_bytes: defaults::max_entry_bytes(),
39            max_age_secs: None,
40        }
41    }
42}