Struct wildland_cargo_lib::api::config::LoggerConfig
source · [−]pub struct LoggerConfig {
pub use_logger: bool,
pub log_level: Level,
pub log_use_ansi: bool,
pub log_file_enabled: bool,
pub log_file_path: PathBuf,
pub log_file_rotate_directory: PathBuf,
pub oslog_category: Option<String>,
pub oslog_subsystem: Option<String>,
}
Expand description
Structure representing configuration of super::CargoLib
.
It is used to create super::CargoLib
instance.
It is created from JSON or from type implementing CargoCfgProvider
.
This structure provides default values for all fields and can be constructed
by either LoggerConfig::new() or LoggerConfig::default(). Those two calls
are equivalent to each other.
let config_json = r#"
{
"log_level": "debug",
"log_use_ansi": true,
"log_file_path": "some_name",
"log_file_rotate_directory": ".",
"log_file_enabled": true,
"evs_url": "some_url",
"sc_url": "some_url"
}
"#;
let parsed_cfg = parse_config(config_json.as_bytes().to_vec()).unwrap();
Fields
use_logger: bool
switch to disable the logger facility. If set to false, the logger will be disabled. usefull for cases where the client wants to use its own tracing subscriber object or want to enable it from the outside. Default: true
Most users will want to leave it defaulted to true, especially users of the bindings, as they will not be able to create subscriber externally.
In case its false, all the log configs are not used nor the subscriber is created.
log_level: Level
Minimum level of messages to get logged
log_use_ansi: bool
If Enabled, the logger will use ansi sequences to style text not all platforms and receivers do support this feature. False by default.
log_file_enabled: bool
Enables or disables file logging.
log_file_path: PathBuf
File describing where log entries should be mirrored to. This part
defines the file path of the currently active log file.
defaults to cargolib_log
log_file_rotate_directory: PathBuf
File describing where log entries should be mirrored to. This part defines the file directory where the rotation will happen. defaults to the current working directory.
oslog_category: Option<String>
Name of the system.log category. If Some() provided together with oslog_subsystem category, enables the oslog facility. If OsLog is enabled, then all other facilities are not initialized.
oslog_subsystem: Option<String>
Name of the system.log subsystem. If Some() provided together with oslog_category, enables the oslog facility. If OsLog is enabled, then all other facilities are not initialized.
Implementations
sourceimpl LoggerConfig
impl LoggerConfig
sourceimpl LoggerConfig
impl LoggerConfig
sourcepub fn is_oslog_eligible(&self) -> bool
pub fn is_oslog_eligible(&self) -> bool
Helper function used to determine platform capabilities
Whenever the os log facilities are available and properly configured,
returns true
. However if the configuration does not contain all the data
necessary to start the logger or the platform does not support logging
to the OsLog (i.e. linux,windows) then false
is returned.
sourcepub fn is_file_eligible(&self) -> bool
pub fn is_file_eligible(&self) -> bool
Helper function used to determine platform capabilities
Whenever the file log facilities are available and properly configured,
returns true
. However if the configuration uses paths that do not exist
we will fail to initialize the logger and return false
.
pub fn validate_config_level(&mut self)
Trait Implementations
sourceimpl Clone for LoggerConfig
impl Clone for LoggerConfig
sourcefn clone(&self) -> LoggerConfig
fn clone(&self) -> LoggerConfig
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for LoggerConfig
impl Debug for LoggerConfig
sourceimpl Default for LoggerConfig
impl Default for LoggerConfig
sourceimpl<'de> Deserialize<'de> for LoggerConfig
impl<'de> Deserialize<'de> for LoggerConfig
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
sourceimpl PartialEq<LoggerConfig> for LoggerConfig
impl PartialEq<LoggerConfig> for LoggerConfig
sourcefn eq(&self, other: &LoggerConfig) -> bool
fn eq(&self, other: &LoggerConfig) -> bool
impl Eq for LoggerConfig
impl StructuralEq for LoggerConfig
impl StructuralPartialEq for LoggerConfig
Auto Trait Implementations
impl RefUnwindSafe for LoggerConfig
impl Send for LoggerConfig
impl Sync for LoggerConfig
impl Unpin for LoggerConfig
impl UnwindSafe for LoggerConfig
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.