[pbs-devel] [RFC proxmox-backup 0/2] Tasklog rewrite with tracing

Gabriel Goller g.goller at proxmox.com
Mon Oct 23 11:09:18 CEST 2023

On 10/18/23 15:12, Dominik Csapak wrote:

> hi, a high level comments on this series:
> you implemented a 'tasklog' = true filter, which is nice, but not 
> filter for the syslog
> in general we'd want to land things either in the task log (preferred) 
> or in the syslog,
> not in both (e.g. for some tasks this pollutes the syslog unnecessarily)
Ok, this should be easy, we just check in the `syslog_layer` if the 
`task_log` attribute
is None in the Metadata. Like this we only log to task_log OR syslog.
> so i'd like to see also a syslog = false (or syslog = true)  and maybe 
> some
> functionality to enable/disable that for whole block (if that's even 
> possible?)
As mentioned in the other patch, currently we can't inspect metadata 
values when enabling/
disabling a layer :/ .
What do you mean exactly by 'disabling in a whole block'?

We could enable/disable the filelog layer in specific rust modules (not 
so useful for us)
or e.g, create a span on thread/task creation and then let all the logs 
in that span go to
the task_log? The problem with that is that we would have to create an 
specific attribute
to log to syslog while we are in a worker_task context (e.g. 
`info!(syslog = true, "to syslog")`)
and it's not so clear anymore where we write (i.e. I'd have to look at 
the context to know
if a `log::info!()` call writes to task_log or syslog).

IMO having a explicit `tasklog` attribute on every event is good (The 
name is obviously debatable,
we could choose something shorter, or create a macro `task_info!` to 
make it easier to use).

More information about the pbs-devel mailing list