use crate::OpenTelemetryLevel;
use serde::{Deserialize, Serialize};
use std::path::Path;
use std::{fs::File, io::Write};
#[derive(Default, Serialize, Deserialize, Clone, Debug)]
pub struct LogConfig {
pub rust_log: Option<String>,
pub verbose_module: Option<String>,
pub opentelemetry_level: Option<OpenTelemetryLevel>,
}
impl LogConfig {
pub fn write_to_file(&self, path: &Path) -> std::io::Result<()> {
let mut file = File::create(path)?;
let str = serde_json::to_string_pretty(self)?;
file.write_all(str.as_bytes())
}
}