rust env_logger只初始化了一次?

xzv2uavs  于 2023-03-18  发布在  其他
关注(0)|答案(1)|浏览(118)

我最近在Rust中探索了env_logger库的使用,它是一个很棒的库。但是,我遇到了一个与多线程场景相关的问题,在这个场景中,如果日志记录器已经初始化,线程就会因为无法重新初始化而死机。我收到了这个错误

thread '<unnamed>' panicked at 'Builder::init should not be called after logger initialized: SetLoggerError(())', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/env_logger-0.10.0/src/lib.rs:816:14

这个问题很简单-如何检查logger是否已经初始化,并仅在这种情况下继续使用Builder::init(这样线程就不会出现异常)?

hjzp0vay

hjzp0vay1#

调用Builder::try_init()。它返回错误而不是死机。

相关问题