BOOST_LOG_SEV 中的严重级别

Severity level in BOOST_LOG_SEV

为什么此代码行可以正常工作:

BOOST_LOG_SEV(lg,debug) << "tst message";

而这个在编译时失败了:

BOOST_LOG_SEV(lg,trivial::severity_level::debug) << "tst message";

失败信息:

Error   20  error C2653: 'trivial' : is not a class or namespace name

我想 - debugtrivial::severity_level::debug 是一样的。如果我在 debug 上的 Visual Studio 中按 F12,它会精确到 trivial.hpp

中的 trivial::severity_level::debug

您似乎在使用命名空间 boost::log::trivial。 在第二种情况下,您应该指定 boost::log::trivial::debug,即 debug.

的完整路径

请注意,对于标准 C++03 代码,您不应编写 severity_level,因为它是枚举,但自 C++11 起,您可以根据需要使用 boost::log::trivial::severity_level::debug