我如何使用打印!在编译发布时使用 Rocket?

How do I use print! with Rocket when compiling for release?

我有一些路由处理程序,其中包含 print!() 语句。当我编译我的应用程序进行调试时,它们工作得很好。然而,在编译发布时,Rocket 似乎“静音”了所有打印语句(以及 log crate 中的日志记录功能)。它为什么这样做?我如何强制它打印东西然后构建发布?我怀疑它可能与日志级别有关,在编译发布时它会自动设置为关键级别,但是,我不太确定 print! 语句具有什么级别以及如何更改日志级别。

您特别提到了 print!(),它在写入后不会 flush() stdout,因此它的输出通常看起来是静音的。

正如您提到的,rocket 在调试版本中将默认日志级别设置为 normal,这将产生 more/any 日志,进而导致 flush()因此,您的 print!()- 输出也将被刷新。

使用 println!() 或手动 flush() .