From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id EB7A61FF170
	for <inbox@lore.proxmox.com>; Thu, 12 Jun 2025 14:35:03 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id E0C7A1CE46;
	Thu, 12 Jun 2025 14:35:26 +0200 (CEST)
From: Lukas Wagner <l.wagner@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Thu, 12 Jun 2025 14:34:43 +0200
Message-Id: <20250612123443.331965-1-l.wagner@proxmox.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.018 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [main.rs]
Subject: [pve-devel] [PATCH promxox-mail-forward] fix logging by switching
 to proxmox-log
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

The proxmox-notify crate now uses tracing for logging, hence we have to
set up some tracing logging infrastructure if we want to see any
messages in the journal. Therefore we switch from the syslog crate to
proxmox-log, which configures the appropriate layers/subscribers for
tracing.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
 Cargo.toml     |  5 ++---
 debian/control |  4 ++--
 src/main.rs    | 20 +++++++++++---------
 3 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml
index 8bbd89e..f23fc61 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -15,9 +15,8 @@ exclude = [ "debian" ]
 
 [dependencies]
 anyhow = "1.0"
-log = "0.4.17"
 nix = "0.26"
-syslog = "6.0"
 
-proxmox-sys = "0.6"
+proxmox-log = "0.2.8"
 proxmox-notify = {version = "0.5.4", features = ["mail-forwarder", "pve-context", "pbs-context"] }
+proxmox-sys = "0.6"
diff --git a/debian/control b/debian/control
index 48bd241..4ed6308 100644
--- a/debian/control
+++ b/debian/control
@@ -3,15 +3,15 @@ Section: rust
 Priority: optional
 Build-Depends: cargo:native,
                debhelper-compat (= 13),
+               dh-cargo (>= 25),
                librust-anyhow-1+default-dev,
-               librust-log-0.4+default-dev (>= 0.4.17-~~),
                librust-nix-0.26+default-dev,
+               librust-proxmox-log-0.2+default-dev (>= 0.2.8),
                librust-proxmox-notify-0.5+default-dev (>= 0.5.4),
                librust-proxmox-notify-0.5+mail-forwarder-dev,
                librust-proxmox-notify-0.5+pbs-context-dev,
                librust-proxmox-notify-0.5+pve-context-dev,
                librust-proxmox-sys-0.6+default-dev,
-               librust-syslog-6+default-dev,
                libstd-rust-dev,
                patchelf,
                rustc:native,
diff --git a/src/main.rs b/src/main.rs
index 795b0f2..aaa8591 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -23,6 +23,9 @@ use std::path::Path;
 
 use anyhow::Error;
 
+use proxmox_log::LevelFilter;
+use proxmox_log::Logger;
+use proxmox_log::error;
 use proxmox_notify::Config;
 use proxmox_notify::context::pbs::PBS_CONTEXT;
 use proxmox_notify::context::pve::PVE_CONTEXT;
@@ -42,7 +45,7 @@ fn attempt_file_read<P: AsRef<Path>>(path: P) -> Option<String> {
     match fs::file_read_optional_string(path.as_ref()) {
         Ok(contents) => contents,
         Err(err) => {
-            log::error!("unable to read {path:?}: {err}", path = path.as_ref());
+            error!("unable to read {path:?}: {err}", path = path.as_ref());
             None
         }
     }
@@ -112,11 +115,10 @@ fn forward_for_pbs(mail: &[u8], has_pve: bool) -> Result<(), Error> {
 }
 
 fn main() {
-    if let Err(err) = syslog::init(
-        syslog::Facility::LOG_DAEMON,
-        log::LevelFilter::Info,
-        Some("proxmox-mail-forward"),
-    ) {
+    if let Err(err) = Logger::from_env("PROXMOX_LOG", LevelFilter::INFO)
+        .journald()
+        .init()
+    {
         eprintln!("unable to initialize syslog: {err}");
     }
 
@@ -129,19 +131,19 @@ fn main() {
             if Path::new(PVE_CFG_PATH).exists() {
                 has_pve = true;
                 if let Err(err) = forward_for_pve(&mail) {
-                    log::error!("could not forward mail for Proxmox VE: {err}");
+                    error!("could not forward mail for Proxmox VE: {err}");
                 }
             }
 
             // Assume a PBS installation if /etc/proxmox-backup exists
             if Path::new(PBS_CFG_PATH).exists() {
                 if let Err(err) = forward_for_pbs(&mail, has_pve) {
-                    log::error!("could not forward mail for Proxmox Backup Server: {err}");
+                    error!("could not forward mail for Proxmox Backup Server: {err}");
                 }
             }
         }
         Err(err) => {
-            log::error!("could not read mail from STDIN: {err}")
+            error!("could not read mail from STDIN: {err}")
         }
     }
 }
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel