【发布时间】:2018-10-20 21:58:01
【问题描述】:
我需要在某些代码之前关闭spdlog级别,然后将其返回到之前的值。
如何在关闭之前获取当前级别?
【问题讨论】:
标签: c++ logging log-level spdlog
我需要在某些代码之前关闭spdlog级别,然后将其返回到之前的值。
如何在关闭之前获取当前级别?
【问题讨论】:
标签: c++ logging log-level spdlog
要获取当前记录器级别,请使用logger::level()。
要设置新级别,请使用logger::set_level()。
【讨论】:
如果您正在使用 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 进行操作即可。
【讨论】:
现在似乎有一个函数可以获取全局日志记录级别:
spdlog::get_level();
【讨论】: