Enhance error logging in change_falukant_user_money function: Added detailed logging for parameters before executing the database update and improved error handling for serialization issues, enhancing traceability and debugging capabilities.
This commit is contained in:
@@ -162,7 +162,29 @@ impl BaseWorker {
|
|||||||
let p2: &(dyn ToSql + Sync) = &money_change;
|
let p2: &(dyn ToSql + Sync) = &money_change;
|
||||||
let p3: &(dyn ToSql + Sync) = &action;
|
let p3: &(dyn ToSql + Sync) = &action;
|
||||||
|
|
||||||
let _ = conn.execute("update_money", &[p1, p2, p3])?;
|
// Debug: Logge die Parameter kurz vor dem Execute (nur stderr)
|
||||||
|
eprintln!(
|
||||||
|
"[BaseWorker] change_falukant_user_money: calling update_money with user_id={}, money_change={}, action={}",
|
||||||
|
falukant_user_id, money_change, action
|
||||||
|
);
|
||||||
|
|
||||||
|
match conn.execute("update_money", &[p1, p2, p3]) {
|
||||||
|
Ok(rows) => {
|
||||||
|
// rows als Vec<Row> zurückgegeben, nichts weiter tun
|
||||||
|
let _ = rows;
|
||||||
|
}
|
||||||
|
Err(err) => {
|
||||||
|
// Wenn der Postgres-Client ein Serialisierungsproblem meldet,
|
||||||
|
// erweitern wir das Log um die tatsächlichen Parameterwerte.
|
||||||
|
if format!("{err}").contains("serializing parameter") {
|
||||||
|
eprintln!(
|
||||||
|
"[BaseWorker] Fehler beim Serialisieren der DB-Parameter: user_id={}, money_change={}, action={}. Original: {err}",
|
||||||
|
falukant_user_id, money_change, action
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return Err(err.into());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user