我最近在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(这样线程就不会出现异常)?
1条答案
按热度按时间hjzp0vay1#
调用
Builder::try_init()
。它返回错误而不是死机。