boost log 中打印源码的名字与行号的两种方法

来源:互联网 发布:mac chmod 777 编辑:程序博客网 时间:2024/05/21 14:40

第一种

设置格式时加入

<< expr::format_named_scope("Scope", keywords::format = "[%f:%l]")
然后加入
logging::core::get()->add_global_attribute("Scope", attrs::named_scope());
在输出日志
BOOST_LOG_SEV(lg, debug) << "A regular message";之前加入BOOST_LOG_FUNCTION();或者BOOST_LOG_NAMED_SCOPE("Scope");其中前一个比后一个更详细,不过打印的行号是BOOST_LOG_FUNCTION(),BOOST_LOG_NAMED_SCOPE("Scope")所在的行号。
第二种
#define LOG_DEBUG\BOOST_LOG_SEV((MyLog::s_slg),(boost::log::trivial::debug))<< "(" << __FILE__ << ", " << __LINE__ << ") " 分别定义对应的打印类型如:debug error等。

0 0
原创粉丝点击