tracing icon indicating copy to clipboard operation
tracing copied to clipboard

multiple app instances, same log file

Open estnml opened this issue 4 months ago • 1 comments

Feature Request

ability to log events to same file coming from multiple instances of the application.

Crates

  • tracing
  • tracing-subscriber
  • tracing-appender

Motivation

sometimes the application we wrote (e.g. webapi written in axum) work as multiple instances in the server. It would be great if we could configure the tracing behaviour to same log file or log files for each instance.

Proposal

Alternatives

  • different log file for every instance. ~(however i couldnt figure out how to configure it tracing-appender)~
    • using RollingFileAppender::builder().filename_prefix(log_file_prefix) and
    • let log_file_prefix = format!("instance_{args.port}_backend");

estnml avatar Mar 30 '24 11:03 estnml

Writing from multiple processes to the same file would involve some inter-process synchronization which I don't think should be handled by tracing.

Personally, I do believe your best course of action would be to either use a file per instance or something designed for this kind of thing like journald.

mladedav avatar Apr 17 '24 21:04 mladedav