mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-31 01:09:23 +00:00
refactor(logging): standardize rustfs runtime events (#3396)
* fix(rpc): adjust log levels and reduce noise in storage RPC layer Issue #682: pool rebalance normal flow logs were using warn! instead of info!. Additionally, several high-frequency RPC entry points (ping, write_stream, read_at, walk_dir) were logging at info! level, causing unnecessary log noise in production. Changes: - load_rebalance_meta: warn! → info! for normal flow (3 occurrences) - ping body decode: info! → debug! (fires on every health check) - write_stream/read_at/walk_dir entry: info! → debug! - metrics.rs: lowercase error messages, add structured error field - http_service.rs: add structured error field to walk_dir failure - Add tracing::instrument fields for start_rebalance context * refactor(logging): standardize rustfs runtime events * build(deps): bump workspace dependency versions * build(deps): pin time to 0.3.47 * build(deps): update postgres client versions
This commit is contained in:
@@ -48,6 +48,10 @@ use time::format_description::well_known::Rfc3339;
|
||||
use time::{format_description::FormatItem, macros::format_description};
|
||||
use tracing::{debug, warn};
|
||||
|
||||
const LOG_COMPONENT_STORAGE: &str = "storage";
|
||||
const LOG_SUBSYSTEM_OBJECT_LOCK: &str = "object_lock";
|
||||
const LOG_SUBSYSTEM_OBJECT_KEY: &str = "object_key";
|
||||
|
||||
pub const RFC1123: &[FormatItem<'_>] =
|
||||
format_description!("[weekday repr:short], [day] [month repr:short] [year] [hour]:[minute]:[second] GMT");
|
||||
|
||||
@@ -149,7 +153,14 @@ pub(crate) async fn apply_bucket_default_lock_retention(
|
||||
if err == StorageError::ConfigNotFound {
|
||||
None
|
||||
} else {
|
||||
warn!("get_object_lock_config err {:?}", err);
|
||||
warn!(
|
||||
component = LOG_COMPONENT_STORAGE,
|
||||
subsystem = LOG_SUBSYSTEM_OBJECT_LOCK,
|
||||
event = "object_lock_config_load_failed",
|
||||
bucket = %bucket,
|
||||
error = ?err,
|
||||
"Failed to load bucket object lock configuration"
|
||||
);
|
||||
return Err(S3Error::with_message(
|
||||
S3ErrorCode::InternalError,
|
||||
"Failed to load Object Lock configuration".to_string(),
|
||||
@@ -293,7 +304,14 @@ pub(crate) fn validate_object_key(key: &str, operation: &str) -> S3Result<()> {
|
||||
|
||||
// Log debug info for keys with special characters to help diagnose encoding issues
|
||||
if key.contains([' ', '+', '%']) {
|
||||
debug!("{} object with special characters in key: {:?}", operation, key);
|
||||
debug!(
|
||||
component = LOG_COMPONENT_STORAGE,
|
||||
subsystem = LOG_SUBSYSTEM_OBJECT_KEY,
|
||||
event = "object_key_special_characters",
|
||||
operation,
|
||||
key = ?key,
|
||||
"Object key contains special characters"
|
||||
);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
@@ -423,7 +441,14 @@ pub(crate) async fn validate_bucket_object_lock_enabled(bucket: &str) -> S3Resul
|
||||
"Bucket is missing ObjectLockConfiguration".to_string(),
|
||||
));
|
||||
}
|
||||
warn!("get_object_lock_config err {:?}", err);
|
||||
warn!(
|
||||
component = LOG_COMPONENT_STORAGE,
|
||||
subsystem = LOG_SUBSYSTEM_OBJECT_LOCK,
|
||||
event = "object_lock_config_load_failed",
|
||||
bucket = %bucket,
|
||||
error = ?err,
|
||||
"Failed to load bucket object lock configuration"
|
||||
);
|
||||
return Err(S3Error::with_message(
|
||||
S3ErrorCode::InternalError,
|
||||
"Failed to get bucket ObjectLockConfiguration".to_string(),
|
||||
|
||||
Reference in New Issue
Block a user