refact: remote printer, log (#11271)

Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
fufesou
2025-03-28 10:56:19 +08:00
committed by GitHub
parent ee2478168c
commit 4b14f86134
2 changed files with 12 additions and 11 deletions

View File

@@ -1569,11 +1569,14 @@ impl<T: InvokeUiSession> Remote<T> {
// Spawn a new thread to handle the print job. // Spawn a new thread to handle the print job.
// Or print job will block the ui thread. // Or print job will block the ui thread.
std::thread::spawn(move || { std::thread::spawn(move || {
crate::platform::send_raw_data_to_printer( if let Err(e) =
printer_name, crate::platform::send_raw_data_to_printer(
data, printer_name,
) data,
.ok(); )
{
log::error!("Print job error: {}", e);
}
}); });
} }
} }

View File

@@ -2862,19 +2862,15 @@ pub fn send_raw_data_to_printer(printer_name: Option<String>, data: Vec<u8>) ->
if !names.contains(&printer_name) { if !names.contains(&printer_name) {
// Don't set the first printer as current printer. // Don't set the first printer as current printer.
// It may not be the desired printer. // It may not be the desired printer.
log::error!(
"Printer name \"{}\" not found, ignore the print job",
printer_name
);
bail!("Printer name \"{}\" not found", &printer_name); bail!("Printer name \"{}\" not found", &printer_name);
} }
} }
} }
if printer_name.is_empty() { if printer_name.is_empty() {
log::error!("Failed to get printer name");
return Err(anyhow!("Failed to get printer name")); return Err(anyhow!("Failed to get printer name"));
} }
log::info!("Sending data to printer: {}", &printer_name);
let printer_name = wide_string(&printer_name); let printer_name = wide_string(&printer_name);
unsafe { unsafe {
let res = PrintXPSRawData( let res = PrintXPSRawData(
@@ -2883,7 +2879,9 @@ pub fn send_raw_data_to_printer(printer_name: Option<String>, data: Vec<u8>) ->
data.len() as c_ulong, data.len() as c_ulong,
); );
if res != 0 { if res != 0 {
bail!("Failed to send file to printer, see logs in C:\\Windows\\temp\\test_rustdesk.log for more details."); bail!("Failed to send data to the printer, see logs in C:\\Windows\\temp\\test_rustdesk.log for more details.");
} else {
log::info!("Successfully sent data to the printer");
} }
} }