From 7db8c0ed97f17d888241b474ad1cdefd68af53be Mon Sep 17 00:00:00 2001 From: lukas0008 Date: Fri, 11 Oct 2024 17:12:35 +0200 Subject: [PATCH] Add serde defaults for logging --- pumpkin-config/src/commands.rs | 1 + pumpkin-config/src/lib.rs | 8 +------- pumpkin-config/src/logging.rs | 8 ++++++++ pumpkin-config/src/rcon.rs | 5 +++++ 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/pumpkin-config/src/commands.rs b/pumpkin-config/src/commands.rs index 2e975746d..936360818 100644 --- a/pumpkin-config/src/commands.rs +++ b/pumpkin-config/src/commands.rs @@ -8,6 +8,7 @@ pub struct CommandsConfig { #[serde_inline_default(true)] pub use_console: bool, /// Should be commands from players be logged in console? + #[serde_inline_default(true)] pub log_console: bool, // TODO: commands... } diff --git a/pumpkin-config/src/lib.rs b/pumpkin-config/src/lib.rs index 28e812c54..6062bb259 100644 --- a/pumpkin-config/src/lib.rs +++ b/pumpkin-config/src/lib.rs @@ -43,20 +43,14 @@ pub static BASIC_CONFIG: LazyLock = LazyLock::new(BasicConfi /// This also allows you get some Performance or Resource boosts. /// Important: The Configuration should match Vanilla by default #[derive(Deserialize, Serialize, Default)] +#[serde(default)] pub struct AdvancedConfiguration { - #[serde(default)] pub proxy: ProxyConfig, - #[serde(default)] pub authentication: AuthenticationConfig, - #[serde(default)] pub packet_compression: CompressionConfig, - #[serde(default)] pub resource_pack: ResourcePackConfig, - #[serde(default)] pub commands: CommandsConfig, - #[serde(default)] pub rcon: RCONConfig, - #[serde(default)] pub pvp: PVPConfig, pub logging: LoggingConfig, } diff --git a/pumpkin-config/src/logging.rs b/pumpkin-config/src/logging.rs index d6bcc9027..62991aa8c 100644 --- a/pumpkin-config/src/logging.rs +++ b/pumpkin-config/src/logging.rs @@ -1,12 +1,20 @@ use serde::{Deserialize, Serialize}; +use serde_inline_default::serde_inline_default; +#[serde_inline_default] #[derive(Deserialize, Serialize)] pub struct LoggingConfig { + #[serde_inline_default(true)] pub enabled: bool, + #[serde_inline_default(LevelFilter::Info)] pub level: LevelFilter, + #[serde_inline_default(false)] pub env: bool, + #[serde_inline_default(true)] pub threads: bool, + #[serde_inline_default(true)] pub color: bool, + #[serde_inline_default(true)] pub timestamp: bool, } diff --git a/pumpkin-config/src/rcon.rs b/pumpkin-config/src/rcon.rs index ccbb13436..bbffa53c9 100644 --- a/pumpkin-config/src/rcon.rs +++ b/pumpkin-config/src/rcon.rs @@ -23,15 +23,20 @@ pub struct RCONConfig { pub logging: RCONLogging, } +#[serde_inline_default] #[derive(Deserialize, Serialize, Clone, Debug)] pub struct RCONLogging { /// Whether successful RCON logins should be logged. + #[serde_inline_default(true)] pub log_logged_successfully: bool, /// Whether failed RCON login attempts with incorrect passwords should be logged. + #[serde_inline_default(true)] pub log_wrong_password: bool, /// Whether all RCON commands, regardless of success or failure, should be logged. + #[serde_inline_default(true)] pub log_commands: bool, /// Whether RCON quit commands should be logged. + #[serde_inline_default(true)] pub log_quit: bool, }