修正不打日志时log系列函数崩溃的问题

This commit is contained in:
2026-02-04 00:51:53 +08:00
parent 54b86a44e1
commit 6460b0b00a
2 changed files with 16 additions and 27 deletions

View File

@@ -94,9 +94,9 @@ impl Default for Config {
is_archipelago: true,
is_spiral_abyss: true,
is_demonic_energy: true,
is_forest: true,
is_forest: false,
is_decompose: true,
is_attack_power: true,
is_attack_power: false,
is_equip_transform: true,
}
}

View File

@@ -75,53 +75,42 @@ fn to_utf8(string: &CxxString) -> String {
cxx_string_to_string(string).to_string()
}
fn log_error(msg: &cxx::CxxString) {
let msg = cxx_string_to_string(msg);
let lock = LOGGER_SENDER.get().unwrap();
fn push_log(t: MessageType, msg: String) {
if let Some(lock) = LOGGER_SENDER.get() {
let _ = lock.send(Starpoles {
r#type: MessageType::Error.into(),
r#type: t.into(),
message: msg.clone(),
});
}
}
fn log_error(msg: &cxx::CxxString) {
let msg = cxx_string_to_string(msg);
push_log(MessageType::Error, msg.clone());
error!("{}", msg);
}
fn log_warning(msg: &cxx::CxxString) {
let msg = cxx_string_to_string(msg);
let lock = LOGGER_SENDER.get().unwrap();
let _ = lock.send(Starpoles {
r#type: MessageType::Warning.into(),
message: msg.clone(),
});
push_log(MessageType::Warning, msg.clone());
warn!("{}", msg);
}
fn log_info(msg: &cxx::CxxString) {
let msg = cxx_string_to_string(msg);
let lock = LOGGER_SENDER.get().unwrap();
let _ = lock.send(Starpoles {
r#type: MessageType::Info.into(),
message: msg.clone(),
});
push_log(MessageType::Info, msg.clone());
info!("{}", msg);
}
fn log_debug(msg: &cxx::CxxString) {
let msg = cxx_string_to_string(msg);
let lock = LOGGER_SENDER.get().unwrap();
let _ = lock.send(Starpoles {
r#type: MessageType::Debug.into(),
message: msg.clone(),
});
push_log(MessageType::Debug, msg.clone());
debug!("{}", msg);
}
fn log_trace(msg: &cxx::CxxString) {
let msg = cxx_string_to_string(msg);
let lock = LOGGER_SENDER.get().unwrap();
let _ = lock.send(Starpoles {
r#type: MessageType::Trace.into(),
message: msg.clone(),
});
push_log(MessageType::Trace, msg.clone());
trace!("{}", msg);
}