klauthed_observability/config/
log.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct LogConfig {
8 #[serde(default)]
10 pub format: LogFormat,
11 #[serde(default = "default_level")]
13 pub level: String,
14 #[serde(default = "default_true")]
16 pub ansi: bool,
17}
18
19fn default_level() -> String {
20 "info".to_owned()
21}
22fn default_true() -> bool {
23 true
24}
25
26impl Default for LogConfig {
27 fn default() -> Self {
28 Self { format: LogFormat::default(), level: default_level(), ansi: default_true() }
29 }
30}
31
32#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
34#[serde(rename_all = "snake_case")]
35pub enum LogFormat {
36 #[default]
38 Pretty,
39 Compact,
41 Json,
43}