From: Gabriel Goller <g.goller@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup v2] pxar-bin: remove `log` dependency, use `tracing` directly
Date: Wed, 4 Sep 2024 15:28:57 +0200 [thread overview]
Message-ID: <20240904132857.370518-2-g.goller@proxmox.com> (raw)
In-Reply-To: <20240904132857.370518-1-g.goller@proxmox.com>
When using the `log` to `tracing` translation layer, the messages get
padded with whitespaces. This bug will get fixed upstream [0], but in
the meantime we switch to the `tracing` macros.
[0]: https://github.com/tokio-rs/tracing/pull/3070
Tested-by: Christian Ebner <c.ebner@proxmox.com>
Reviewed-by: Christian Ebner <c.ebner@proxmox.com>
Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
---
v2, thanks @Christian:
- order `proxmox_log` imports
- inline variables in log statements
- print anyhow error with fmt::Debug
pxar-bin/Cargo.toml | 1 -
pxar-bin/src/main.rs | 24 ++++++++++++------------
2 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/pxar-bin/Cargo.toml b/pxar-bin/Cargo.toml
index 64dcf1496b4d..d0d7ab24d9b9 100644
--- a/pxar-bin/Cargo.toml
+++ b/pxar-bin/Cargo.toml
@@ -11,7 +11,6 @@ path = "src/main.rs"
[dependencies]
anyhow.workspace = true
futures.workspace = true
-log.workspace = true
nix.workspace = true
serde_json.workspace = true
tokio = { workspace = true, features = [ "rt", "rt-multi-thread" ] }
diff --git a/pxar-bin/src/main.rs b/pxar-bin/src/main.rs
index 71ce3bf78f52..4b00f94320c2 100644
--- a/pxar-bin/src/main.rs
+++ b/pxar-bin/src/main.rs
@@ -19,7 +19,7 @@ use pbs_client::pxar::{
use pxar::EntryKind;
use proxmox_human_byte::HumanByte;
-use proxmox_log::init_cli_logger;
+use proxmox_log::{debug, enabled, error, info, init_cli_logger, Level};
use proxmox_router::cli::*;
use proxmox_schema::api;
@@ -40,7 +40,7 @@ fn extract_archive_from_reader<R: std::io::Read>(
Path::new(target),
feature_flags,
|path| {
- log::debug!("{:?}", path);
+ debug!("{path:?}");
},
options,
)
@@ -222,7 +222,7 @@ fn extract_archive(
// otherwise we want to log them but not act on them
Some(Box::new(move |err| {
was_ok.store(false, Ordering::Release);
- log::error!("error: {}", err);
+ error!("error: {err:?}");
Ok(())
})
as Box<dyn FnMut(Error) -> Result<(), Error> + Send>)
@@ -243,7 +243,7 @@ fn extract_archive(
extract_archive_from_reader(&mut reader, target, feature_flags, options, None)
.map_err(|err| format_err!("error extracting archive - {err:#}"))?;
} else {
- log::debug!("PXAR extract: {}", archive);
+ debug!("PXAR extract: {archive}");
let file = std::fs::File::open(archive)?;
let mut reader = std::io::BufReader::new(file);
let mut payload_reader = if let Some(payload_input) = payload_input {
@@ -439,7 +439,7 @@ async fn create_archive(
PxarWriters::new(writer, None),
feature_flags,
move |path| {
- log::debug!("{:?}", path);
+ debug!("{path:?}");
Ok(())
},
options,
@@ -495,7 +495,7 @@ async fn mount_archive(
select! {
res = session.fuse() => res?,
_ = interrupt.recv().fuse() => {
- log::debug!("interrupted");
+ debug!("interrupted");
}
}
@@ -531,14 +531,14 @@ fn dump_archive(archive: String, payload_input: Option<String>) -> Result<(), Er
for entry in pxar::decoder::Decoder::open(input)? {
let entry = entry?;
- if log::log_enabled!(log::Level::Debug) {
+ if enabled!(Level::DEBUG) {
match entry.kind() {
EntryKind::Version(version) => {
- log::debug!("pxar format version '{version:?}'");
+ debug!("pxar format version '{version:?}'");
continue;
}
EntryKind::Prelude(prelude) => {
- log::debug!("prelude of size {}", HumanByte::from(prelude.data.len()));
+ debug!("prelude of size {}", HumanByte::from(prelude.data.len()));
continue;
}
EntryKind::File {
@@ -549,7 +549,7 @@ fn dump_archive(archive: String, payload_input: Option<String>) -> Result<(), Er
if let Some(last) = last {
let skipped = offset - last;
if skipped > 0 {
- log::debug!("Encountered padding of {skipped} bytes");
+ debug!("Encountered padding of {skipped} bytes");
}
}
last = Some(offset + size + std::mem::size_of::<pxar::format::Header>() as u64);
@@ -557,11 +557,11 @@ fn dump_archive(archive: String, payload_input: Option<String>) -> Result<(), Er
_ => (),
}
- log::debug!("{}", format_single_line_entry(&entry));
+ debug!("{}", format_single_line_entry(&entry));
} else {
match entry.kind() {
EntryKind::Version(_) | EntryKind::Prelude(_) => continue,
- _ => log::info!("{:?}", entry.path()),
+ _ => info!("{:?}", entry.path()),
}
}
}
--
2.39.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next prev parent reply other threads:[~2024-09-04 13:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-04 13:28 [pbs-devel] [PATCH v2] log: write to stderr when using init_cli_logger, export tracing::Level Gabriel Goller
2024-09-04 13:28 ` Gabriel Goller [this message]
2024-09-05 12:02 ` [pbs-devel] applied-series: " Wolfgang Bumiller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240904132857.370518-2-g.goller@proxmox.com \
--to=g.goller@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.