【发布时间】:2013-04-12 16:47:41
【问题描述】:
我想要一个并发应用程序中的简单日志文件。我下载了Boost.Log v2.0 并使用Boost 1.53.0 编译它。
问题是Boost.Log 在控制台上输出。我正在使用BOOST_LOG_TRIVIAL(trace)。
有没有很好的方法将BOOST_LOG_TRIVIAL 重定向到文件?
【问题讨论】:
我想要一个并发应用程序中的简单日志文件。我下载了Boost.Log v2.0 并使用Boost 1.53.0 编译它。
问题是Boost.Log 在控制台上输出。我正在使用BOOST_LOG_TRIVIAL(trace)。
有没有很好的方法将BOOST_LOG_TRIVIAL 重定向到文件?
【问题讨论】:
您可以让BOOST_LOG_TRIVIAL 使用文件。请注意,大多数boost::log 示例使用如下所示的命名空间别名。
#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/utility/setup/file.hpp>
namespace logging = boost::log;
void init()
{
logging::add_file_log("sample.log");
logging::core::get()->set_filter
(
logging::trivial::severity >= logging::trivial::info
);
}
主要是:
int main(int, char*[])
{
init();
BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
// other types of severity
BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";
return 0;
}
【讨论】:
#include <boost/log/utility/setup/file.hpp>