I would like to use the tracing
library together with deamonize.
Consider the following example
<code>use tracing::info;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::{fmt, Registry};
fn main() {
let file_appender = tracing_appender::rolling::never("/tmp", "test.log");
let (non_blocking, _guard) = tracing_appender::non_blocking(file_appender);
let subscriber = Registry::default().with(fmt::Layer::default().with_writer(non_blocking));
tracing::subscriber::set_global_default(subscriber).unwrap();
info!("Foo");
daemonize::Daemonize::new().start().unwrap();
info!("Bar");
}
</code>
<code>use tracing::info;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::{fmt, Registry};
fn main() {
let file_appender = tracing_appender::rolling::never("/tmp", "test.log");
let (non_blocking, _guard) = tracing_appender::non_blocking(file_appender);
let subscriber = Registry::default().with(fmt::Layer::default().with_writer(non_blocking));
tracing::subscriber::set_global_default(subscriber).unwrap();
info!("Foo");
daemonize::Daemonize::new().start().unwrap();
info!("Bar");
}
</code>
use tracing::info;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::{fmt, Registry};
fn main() {
let file_appender = tracing_appender::rolling::never("/tmp", "test.log");
let (non_blocking, _guard) = tracing_appender::non_blocking(file_appender);
let subscriber = Registry::default().with(fmt::Layer::default().with_writer(non_blocking));
tracing::subscriber::set_global_default(subscriber).unwrap();
info!("Foo");
daemonize::Daemonize::new().start().unwrap();
info!("Bar");
}
The “Foo” log message gets written into the log-file while the “Bar” message after the Daemonize
does not. How would this be possible? It works with the log
library. Ultimatly, I would like to use tracing_log
so can use existing (async) code that uses log
together with libraries that use tracing
.