all lists on lists.proxmox.com
 help / color / mirror / Atom feed
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


  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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal