我有以下简单的设置:
#include <boost/log/sources/record_ostream.hpp>
#include <boost/log/utility/setup/console.hpp>
#include <boost/log/sources/severity_logger.hpp>
#include <boost/log/expressions/keyword.hpp>
namespace mynamespace
{
namespace keywords = boost::log::keywords;
namespace expr = boost::log::expressions;
enum SeverityLevel
{
Trace,
Debug,
Info,
Warning,
Error,
Critical
};
class LoggingConfig
{
public:
void init()
{
// Add default console logging sink
auto format = expr::stream << expr::message;
boost::log::add_console_log(std::cout, keywords::format=format);
};
};
}
编译给出了这个:
/Users/iulian/ClionProjects/project/util/logging.hpp:33:40: error: invalid operands to binary expression ('const stream_type' (aka 'const actor<base_type>') and 'const message_type' (aka 'const attribute_keyword<tag::message>'))
auto format = expr::stream << expr::message;
~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~
我已经看到了许多以与我上面尝试的方式类似的方式配置格式等的示例。为什么不编译?
答案 0 :(得分:0)
这非常愚蠢 - 我错过了正确的包含..具体来说:
#include <boost/log/expressions.hpp>
#include <boost/log/sources/record_ostream.hpp>