How can I instruct the log = create_logger_cli(false) to be flushed manually (I have a password prompt on stdout which should first flush the whole log such that the prompt is at the right place)
Basically log.flush() which would block until all records have been processed by the thread? Is there another better method?
pub fn create_logger_cli(timestamp: bool) -> Arc<Logger> {
let decorator = slog_term::TermDecorator::new().build();
let mut d1 = slog_term::FullFormat::new(decorator);
if !timestamp {
d1 = d1.use_custom_timestamp(no_out);
}
let drain = d1.build().fuse();
let drain = slog_async::Async::new(drain)
.chan_size(5_000_000)
.build()
.fuse();
return Arc::new(slog::Logger::root(drain, o!()));
}
How can I instruct the
log = create_logger_cli(false)to be flushed manually (I have a password prompt on stdout which should first flush the whole log such that the prompt is at the right place)Basically
log.flush()which would block until all records have been processed by the thread? Is there another better method?