[pbs-devel] [PATCH proxmox-backup 0/2] proxmox-log introduction
Gabriel Goller
g.goller at proxmox.com
Fri Nov 3 12:28:47 CET 2023
Removed the task_log! (and friends task_warn!, task_debug!, etc.) macro
and introduced the `tracing` crate. We now initiate the tracing crate
using a single layer, which is loggin to the syslog and the tasklog.
It uses the `syslog` crate and the original `FileLogger`.
To write to the task logs from the worker threads and tasks, we now
have a task_local logger (and warning counter), which
will get instantiated when a task/thread is created. This means that
when we call `info!` or any other `tracing` log macros (with the "tasklog"
attribute), it will get the file_logger from TLS and write to the file.
Changes since RFC v2:
- Combined syslog and tasklog to single layer
- Infer the logging target from the FileLogger TLS
Changes since RFC v1:
- Remove the 'tasklog = true' attribute and infer the context
- Wrap the worker_thread or worker_task in a span with name
'worker_task'
- All events in the span with name 'worker_task' get logged to the
file_logger, everything else goes to syslog (Error events go to
both)
- Remove the `Option<>` around the `FileLogger` in TLS
- Clippy fixes
Gabriel Goller (1):
proxmox-log: added tracing infra
Cargo.toml | 6 +
proxmox-log/Cargo.toml | 23 ++++
proxmox-log/debian/changelog | 5 +
proxmox-log/debian/control | 53 +++++++++
proxmox-log/debian/copyright | 18 +++
proxmox-log/debian/debcargo.toml | 7 ++
.../src/file_logger.rs | 2 +-
proxmox-log/src/lib.rs | 34 ++++++
proxmox-log/src/syslog_tasklog_layer.rs | 106 +++++++++++++++++
proxmox-rest-server/Cargo.toml | 2 +
proxmox-rest-server/src/api_config.rs | 3 +-
proxmox-rest-server/src/lib.rs | 3 -
proxmox-rest-server/src/rest.rs | 4 +-
proxmox-rest-server/src/worker_task.rs | 108 +++++++++---------
proxmox-sys/src/worker_task_context.rs | 47 --------
15 files changed, 315 insertions(+), 106 deletions(-)
create mode 100644 proxmox-log/Cargo.toml
create mode 100644 proxmox-log/debian/changelog
create mode 100644 proxmox-log/debian/control
create mode 100644 proxmox-log/debian/copyright
create mode 100644 proxmox-log/debian/debcargo.toml
rename {proxmox-rest-server => proxmox-log}/src/file_logger.rs (98%)
create mode 100644 proxmox-log/src/lib.rs
create mode 100644 proxmox-log/src/syslog_tasklog_layer.rs
Gabriel Goller (1):
log: removed task_log! macro and moved to tracing
Cargo.toml | 61 ++++----
pbs-api-types/src/metrics.rs | 1 -
pbs-api-types/src/node.rs | 3 +-
pbs-datastore/Cargo.toml | 1 +
pbs-datastore/src/chunk_store.rs | 30 +---
pbs-datastore/src/datastore.rs | 70 ++++-----
src/api2/admin/datastore.rs | 24 ++--
src/api2/admin/metrics.rs | 2 +-
src/api2/config/acme.rs | 20 +--
src/api2/config/datastore.rs | 12 +-
src/api2/node/apt.rs | 13 +-
src/api2/node/certificates.rs | 64 ++++-----
src/api2/node/disks/directory.rs | 13 +-
src/api2/node/disks/mod.rs | 6 +-
src/api2/node/disks/zfs.rs | 30 ++--
src/api2/node/mod.rs | 11 +-
src/api2/pull.rs | 28 ++--
src/api2/tape/backup.rs | 77 ++++------
src/api2/tape/drive.rs | 135 +++++++----------
src/api2/tape/restore.rs | 240 ++++++++++---------------------
src/backup/verify.rs | 103 ++++---------
src/bin/proxmox-backup-api.rs | 10 +-
src/bin/proxmox-backup-proxy.rs | 42 ++----
src/server/gc_job.rs | 6 +-
src/server/prune_job.rs | 26 ++--
src/server/pull.rs | 166 ++++++++-------------
src/server/realm_sync_job.rs | 40 ++----
src/server/verify_job.rs | 10 +-
src/tape/drive/mod.rs | 34 ++---
src/tape/pool_writer/mod.rs | 85 +++++------
tests/worker-task-abort.rs | 9 +-
31 files changed, 502 insertions(+), 870 deletions(-)
--
2.39.2
More information about the pbs-devel
mailing list