[pve-devel] superseded: [PATCH promxox-mail-forward] fix logging by switching to proxmox-log
Lukas Wagner
l.wagner at proxmox.com
Fri Jun 13 09:56:56 CEST 2025
Superseded-by: https://lore.proxmox.com/all/20250613075443.63136-1-l.wagner@proxmox.com/T/#u
On 2025-06-12 14:34, Lukas Wagner wrote:
> 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 at 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}")
> }
> }
> }
--
- Lukas
More information about the pve-devel
mailing list