use crate::{
common::log::{tee_file::TeeFileConfiguration, LoglevelFilter},
host::configuration::PluginProcessConfiguration,
};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
pub struct PluginLogConfiguration {
pub name: String,
pub verbosity: LoglevelFilter,
pub tee_files: Vec<TeeFileConfiguration>,
}
impl PluginLogConfiguration {
pub fn new(name: impl Into<String>, verbosity: LoglevelFilter) -> PluginLogConfiguration {
PluginLogConfiguration {
name: name.into(),
verbosity,
tee_files: vec![],
}
}
}
impl From<&PluginProcessConfiguration> for PluginLogConfiguration {
fn from(cfg: &PluginProcessConfiguration) -> PluginLogConfiguration {
PluginLogConfiguration {
name: cfg.name.clone(),
verbosity: cfg.nonfunctional.verbosity,
tee_files: cfg.nonfunctional.tee_files.clone(),
}
}
}