BOOST_LOG_SEV 中的严重级别
Posted
技术标签:
【中文标题】BOOST_LOG_SEV 中的严重级别【英文标题】:Severity level in BOOST_LOG_SEV 【发布时间】:2015-07-31 09:23:56 【问题描述】:为什么这个代码行可以正常工作:
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
我想两者 - debug
和 trivial::severity_level::debug
是相同的。如果我在 debug
上的 Visual Studio 中按 F12,它会与 trivial::severity_level::debug
中的 trivial.hpp
完全相同
【问题讨论】:
【参考方案1】:看起来您使用了命名空间boost::log::trivial
。
在第二种情况下,您应该指定
boost::log::trivial::debug
,即debug
的完整路径。
请注意,对于标准 C++03 代码,您不应该编写 severity_level
,因为它是枚举,但从 C++11 开始,您可以根据需要使用 boost::log::trivial::severity_level::debug
。
【讨论】:
但是 'BOOST_LOG_SEV(lg,boost::log::trivial::severity_level::debug)' 现在可以正常工作了。为什么我应该跳过“severity_level”?以上是关于BOOST_LOG_SEV 中的严重级别的主要内容,如果未能解决你的问题,请参考以下文章