firecracker_rs_sdk/models/
logger.rs

1use std::path::PathBuf;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
6pub enum LogLevel {
7    #[serde(rename = "Error")]
8    Error,
9    #[serde(rename = "Warning")]
10    Warning,
11    #[default]
12    #[serde(rename = "Info")]
13    Info,
14    #[serde(rename = "Debug")]
15    Debug,
16    #[serde(rename = "Trace")]
17    Trace,
18    #[serde(rename = "Off")]
19    Off,
20}
21
22/// Describes the configuration option for the logging capability.
23/// logger can only be constructed once
24/// and cannot update after configuration
25#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)]
26pub struct Logger {
27    /// Set the level. The possible values are case-insensitive.
28    /// Enum: [Error Warning Info Debug]
29    #[serde(rename = "level", skip_serializing_if = "Option::is_none")]
30    pub level: Option<LogLevel>,
31
32    /// Path to the named pipe or file for the human readable log output.
33    /// Required: true
34    #[serde(rename = "log_path")]
35    pub log_path: PathBuf,
36
37    /// Whether or not to output the level in the logs.
38    #[serde(rename = "show_level", skip_serializing_if = "Option::is_none")]
39    pub show_level: Option<bool>,
40
41    /// Whether or not to include the file path and line number of the log's origin.
42    #[serde(rename = "show_log_origin", skip_serializing_if = "Option::is_none")]
43    pub show_log_origin: Option<bool>,
44
45    /// The module path to filter log messages by. example: api_server::request
46    #[serde(rename = "module", skip_serializing_if = "Option::is_none")]
47    pub module: Option<String>,
48}