我需要在某些代码之前关闭 spdlog 级别,然后将其返回到之前的值。
如何在关闭之前获取当前级别?
如果您正在使用一个
spdlog::logger
对象(例如,my_logger
),那么:
my_logger.level()
。my_logger.should_log(some_level)
,其中 some_level
可以是,例如 spdlog::level::debug
。现在假设您正在使用全局记录器(例如,您使用
spdlog::info()
、spdlog::error()
等发出日志消息)。
spdlog
版本1.8.0及更高版本
您可以通过调用
spdlog::get_level()
(这是一个独立函数,而不是方法)来获取全局日志级别。
spdlog
1.8.0之前的版本
您需要通过调用
spdlog::default_logger_raw()
来获取隐式记录器对象(它会为您提供一个指针。)现在只需按照上面的场景 1 进行即可。
要获取记录器的当前级别,请使用 logger::level()。
要设置新级别,请使用 logger::set_level()。
现在似乎有一个函数可以获取全局日志记录级别:
spdlog::get_level();