#include "stdafx.h"
#include <iostream>
#include <boost/log/common.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/sinks/text_file_backend.hpp>
#include <boost/log/utility/setup.hpp>
using namespace std;
namespace logging = boost::log::BOOST_LOG_VERSION_NAMESPACE;
namespace src = boost::log::BOOST_LOG_VERSION_NAMESPACE::sources;
namespace sinks = boost::log::BOOST_LOG_VERSION_NAMESPACE::sinks;
namespace keywords = boost::log::BOOST_LOG_VERSION_NAMESPACE::keywords;
namespace expr = boost::log::BOOST_LOG_VERSION_NAMESPACE::expressions;
int _tmain(int argc, _TCHAR* argv[])
{
//返回值为前端槽
BOOST_AUTO(console_sink,logging::add_console_log<wchar_t>());
console_sink->set_formatter(
expr::format<wchar_t>(L"[%1%][%2%]")
%logging::trivial::severity
%expr::wmessage
);
//获取后端槽设置直接写出
console_sink->locked_backend()->auto_flush(true);
locale curloc=locale::global(locale("chs"));
using namespace logging::trivial;
src::wseverity_logger< severity_level > lg;
BOOST_LOG_SEV(lg, trace) << L"测试:A trace severity message";
BOOST_LOG_SEV(lg, debug) << L"测试:A debug severity message";
BOOST_LOG_SEV(lg, info) << L"测试:An informational severity message";
BOOST_LOG_SEV(lg, warning) << L"测试:A warning severity message";
BOOST_LOG_SEV(lg, error) << L"测试:An error severity message";
BOOST_LOG_SEV(lg, fatal) << L"测试:A fatal severity message";
BOOST_LOG(lg)<<L"测试BOOST_LOG宏";
locale::global(curloc);
return 0;
}
输出中文需要设置本地化
BOOST_LOG输出级别为trace
add_console_log返回值为synchronous sink frontend